gpt4 book ai didi

javascript - 如何使用 react-redux 中的 reducer 状态的值更新组件的状态?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:40:25 24 4
gpt4 key购买 nike

我有 reducer 给我 carReducer,我可以在 EditCar 组件中将其用作 props:

我的 carReducer 是:

export default function carReducer(state = {}, action) {
switch (action.type) {
case 'GET_SINGLECAR':
return {
...state,
next: action.payload
}
break;
}
return state;
}

在 EditCar 组件中,我将 carReducer 声明为:

    function mapStateToProps(state) {
return {
carReducer: state.carReducer
}
}

export default connect(mapStateToProps, mapDispatchToProps)(EditCar);

现在在同一个组件中,我想在组件加载之前用这个 carReducer 更新我的 intialState cardata

constructor(props) {
super(props);
this.state = {
cardata: {}
}
}

我尝试使用 componentWillReceiveProps 但这在 nextProps.carReducerthis.props.carReducer 中给了我 undefined >.

componentWillReceiveProps(nextProps) {
if (nextProps.carReducer != this.props.carReducer) {
this.setState({ cardata: nextProps.carReducer });
}
}

我是 react-redux 的新手,所以非常感谢任何帮助。谢谢。

最佳答案

方法一——尝试使用componentDidMount()

componentDidMount() {
this.setState = ({
cardata: this.props.carReducer
})
}

方法 2 - 您可以尝试在构造函数本身中执行此操作

constructor(props) {
super(props);
this.state = {
cardata: props.carReducer
}
}

关于javascript - 如何使用 react-redux 中的 reducer 状态的值更新组件的状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43466350/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com