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