【问题标题】:Removing properties in mapStateToProps删除 mapStateToProps 中的属性
【发布时间】:2016-10-26 09:31:35
【问题描述】:

我正在用 redux 组件包装材质 TextField。一些属性应该只在mapStateToProps 中使用,而不是传递给组件本身。否则,我会收到Unknown prop 警告。指定未定义的值没有帮助。

function mapStateToProps(state = {}, ownProps) {
    var dataKey = ownProps.dataKey;
    return {
        value: state[dataKey],
        dataKey: undefined
    }
}
const store = createStore(reducer, {stuff: 123});

const toDraw = <TextInput dataKey="stuff"/>

jsfiddle

有没有更简单的方法从mapStateToProps 中的ownProps 中删除某些内容,而不是创建包装组件?

【问题讨论】:

    标签: javascript redux react-redux material-ui


    【解决方案1】:

    您可以通过为连接的第三个参数mergeProps 提供一个函数来做到这一点,默认为:

    function mergeProps(stateProps, dispatchProps, ownProps) {
      return Object.assign({}, ownProps, stateProps, dispatchProps);
    }
    

    编写您自己的版本,挑选您想要发送到组件的道具。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-07
      • 1970-01-01
      • 2018-10-28
      • 2011-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多