为什么我必须重新加载浏览器才能将我的道具设置为未定义

时间:2017-06-08 21:19:50

标签: reactjs redux react-redux

大家好我有点问题。我正在构建一个带有react& amp;终极版。

所以作为一个例子,我有一个按钮,它根据比较显示 以下是我的代码的样子:

renderExportGuidelinesButton(){
    var { authProfile, guidelines } = this.props;
    if(authProfile.role == "dba"){
      return(
        <button type="button" disabled={this.state.exportGuidelinesBtnDisabled} onClick={this.showConfirmExport.bind(this, guidelines)} id="export-guidelines-btn" className="btn btn-primary">
          Export Guidelines
        </button>
      )
    }
  }

在这种情况下,配置文件角色匹配并且应该呈现我的按钮。 我在构造函数方法中有我的函数bind。一旦我重新加载浏览器,一切正常

1 个答案:

答案 0 :(得分:1)

您需要为减速器提供初始状态。 http://redux.js.org/docs/recipes/reducers/InitializingState.html

或者,您可以使用defaultProps为您想要的任何道具设置初始值:

defaultProps = {
    authProfile: {},
    guidelines: {}
}