道具值未定义,但在浏览器控制台上打印

时间:2019-04-08 05:21:24

标签: reactjs react-redux

我有一个奇怪的问题,不确定我在做什么错。我将标志对象传递给此组件,当我在控制台上对其进行登录时可以使用它,但是它没有进入循环,请注意记录Object.keys(flags)是未定义的。即使试图直接访问对象的值,它也是未定义的。

<img src=`${url}`>

1 个答案:

答案 0 :(得分:0)

我认为您遇到的问题是如何将道具传递到组件上。

我建议您调试

console.log(this.props);

检查里面发生了什么。

此外,我粘贴了您的代码的有效示例。

class Home extends React.Component {
  render() {
    const { flags } = this.props;
    const allflags = [];

    Object.keys(flags).forEach(key => {
      allflags.push(<div>{key} : {''+ flags[key]}</div>);
    });

    return (
      <div>
        <h1>All flags</h1>
        {allflags}
      </div>
    );
  }
}

class App extends Component {
  render() {
    return (
      <Home flags={{ displayLogonStatus: true, displayWallet: true }} />
    );
  }
}

希望对您有帮助