Javascript ReactJS:将状态传递给子级返回未定义

Javascript ReactJS:将状态传递给子级返回未定义,javascript,reactjs,state,Javascript,Reactjs,State,我正在父组件中设置状态。然后,当该状态被设置(使用componentDidMount)时,我需要将其传递给一个孩子 目前,因为它在子组件中返回undefined。我认为这是因为在传递不存在的状态时没有设置状态。使其未定义 已尝试将boolean条件置于for状态,因此需要在传递前为true布尔值在子对象、父对象、我认为可能会产生影响的任何位置,并阻止组件在道具存在之前查找我传递的道具 此处设置Yearr,其结果是在安装组件时执行函数 componentDidMount() {

我正在父组件中设置状态。然后,当该状态被设置(使用componentDidMount)时,我需要将其传递给一个孩子

目前,因为它在子组件中返回undefined。我认为这是因为在传递不存在的状态时没有设置状态。使其未定义

已尝试将
boolean
条件置于for状态,因此需要在传递前为true<代码>布尔值在子对象、父对象、我认为可能会产生影响的任何位置,并阻止组件在道具存在之前查找我传递的道具

此处设置Yearr,其结果是在安装组件时执行函数

    componentDidMount() {
        const yearArrSorted = dataSet && this.playFunction();

        this.setState({
            locationData: dataSet,
            yearArr: yearArrSorted
        });
        this._layerRendering();
        this._animate();
    }
以下是函数:

playFunction = () => {
        //i know this is unreadable, but i wanted to see how simple i could go.
        return dataSet.map(i => {
            return Object.keys(Object.values(i)[2])
                .map(i => (i.startsWith(9) ? 19 + i : 20 + i))
                .sort();
        })[0];
    };
以下是国家:

    this.state = {
            locationData: "",
            year: 95,
            elevationScale: elevationScale.min,
            yearArr: []
        };
Hjere是传递状态的地方,我的方法非常老练,试图让状态只在其设置之后才被传递:

        <YearSelector
                    yearOnChange={this.yearOnChange}
                    year={this.state.year}
                    dataStateChange={this.dataStateChange}
                    dataSet={dataSet}
                    years={this.state.yeaArr.length > 0 && this.state.yeaArr}
                />
0&&this.state.yeaArr}
/>
我希望在设置时将状态作为道具发送给子组件,以便道具可用于
。通过道具数组映射
,并使用
DOM元素创建

可以根据需要编辑问题并提供代码。

对问题进行排序

最初尝试过这个,但无论出于什么原因,它都不起作用

                    years={this.state.yearArr && this.state.yearArr}


现在它工作了,我最初尝试的方法,这是react的现状。

您能显示更多代码吗?