开发者问题收集

未捕获的类型错误:无法读取未定义的属性‘_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