未捕获的类型错误:无法读取未定义的属性‘_props’
2019-11-05
258
我试图将一些数据从状态作为道具传递到另一个组件,如下所示:
class Editor extends React.Component {
constructor(props, context) {
super(props, context);
this.state = {
Data: null
};
}
handleClick = () => {
const fdata = this.props.fetchData(); //returns some data as array of objects
this.setState({
Data: fdata
});
};
render() {
<Overview sos={this.state.Data} />; //trying to pass Data from state to another component
}
}
收到错误
Uncaught TypeError:无法读取未定义的属性“_props”
。
2个回答
由于它是一个类,因此您需要在渲染中返回一些内容:
render() {
return (
<Overview ...
);
}
是否有东西也在加载此类,并将 props 传递给它?
rrd
2019-11-05
首先,让您的状态对象变量的首字母小写,即
this.state = {data: null}
其次,您的 handleClick 具有异步逻辑,因此请使用 async 和 await。像这样 -
handleClick = async () =>{
const fdata = await this.props.fetchData(); //returns some data as array of objects
this.setState({
data: fdata
});
}
编辑:正如 @rrd 提到的,您需要在 render 中返回 jsx
render{
return(
....
)
}
Atin Singh
2019-11-05