首页 > 解决方案 > 如何从具有给定 ID 的列表中获取对象?

问题描述

我有组件Sound,它从道具接收:

我想在具有给定 audioId 的数组对象中查找,不幸的是我的代码不起作用(我的变量this.AUDIO未定义)。你能告诉我为什么吗?

这是我的道具的样子:

在此处输入图像描述


class Sound extends Component {

    AUDIO = this.props.audios.find((sound) => {
        return sound.audioDto.id === this.props.audioId;
    });

    render() {
        return (
            <>
                <h1>{this.AUDIO.audioDto.id}</h1>
            </>
        );
    }
}

export default Sound;

标签: javascriptreactjs

解决方案


移动此代码

AUDIO = this.props.audios.find((sound) => {
        return sound.audioDto.id === this.props.audioId;
    });

内部渲染函数。

class Sound extends Component {

    render() {
        let AUDIO = this.props.audios.find((sound) => {
           return sound.audioDto.id === this.props.audioId;
        });
        return (
            <h1>
                {AUDIO.audioDto.id}
            </h1>
        );
    }
}

export default Sound;

推荐阅读