首页 > 解决方案 > 错误:无法读取未定义的属性“道具”

问题描述

我正在尝试通过道具将信息从“App.js”发送到“Display.js”(这是一个功能组件)。但我收到错误消息:“未捕获的 TypeError:无法读取未定义的属性 'props'”。

将“Display.js”从功能组件更改为类组件时,相同的代码也有效。

应用程序.js

<div className="component-app">
  <Display value={this.state.next || this.state.total || "0"}></Display>
</div>

Display.js(功能组件)

cconst display = (props)=>(
    <div>
        <div>{this.props.value}</div>
    </div>
);

Display.js(类组件)

class Display extends React.Component {
    render() {
      return (
        <div >
          <div>{this.props.value}</div>
        </div>
      );
    }
}

Display.js(类组件)的代码有效,但为什么功能组件不起作用。

标签: reactjs

解决方案


this仅适用于基于类的组件。像这样试试

const display = (props)=>(
    <div>
        <div>{props.value}</div>
    </div>
);

推荐阅读