Javascript 操作分派未更新Redux/React中的状态

Javascript 操作分派未更新Redux/React中的状态,javascript,reactjs,redux,action,Javascript,Reactjs,Redux,Action,我正在从一个组件发送一个操作,所有内容看起来都链接正确,但是当我在我的组件道具中记录console.log状态时,它没有更新 我尝试过重新格式化我的代码,并查看了多个示例,它看起来应该运行吗?当我从reducer登录时,它接收到的是操作,而不是更新状态 const mapStateToProps = state => ({ todos: state }); onSubmit(e) { e.preventDefault();

我正在从一个组件发送一个操作,所有内容看起来都链接正确,但是当我在我的组件道具中记录console.log状态时,它没有更新

我尝试过重新格式化我的代码,并查看了多个示例,它看起来应该运行吗?当我从reducer登录时,它接收到的是操作,而不是更新状态

    const mapStateToProps = state => ({
         todos: state
    });

    onSubmit(e) {
        e.preventDefault();
        let payload = this.state.content
        this.props.dispatch(post_todo(payload));
        console.log(this.props.todos)
        this.setState({
            content: ""
        })
    }
它应该将props.todos更新为正确的状态,但每次都会显示一个空数组

onSubmit(e) {
    e.preventDefault();
    let payload = this.state.content
    this.props.dispatch(post_todo(payload)); <=== this line
    console.log(this.props.todos)
    this.setState({
        content: ""
    })
}

另外,如果您的
render
方法渲染显示此
todos
字段的任何组件,您可以从
this.props.todos
中绘制该字段。。。也将自动更新…

如果您希望看到
控制台.log(this.props.todos)
this.props.dispatch(postu todo(payload))之后的下一行
立即反映状态更改,那么它就不起作用了。您的组件必须经过更新循环。您应该希望在下一次渲染调用中看到更新的
this.props.todos
。那么,我如何检查状态是否已正确渲染!非常感谢你!我一直都是对的!很高兴它有帮助。。。快乐编码!嘿@HendEl Sahli你能检查一下问题吗?
export function post_todo (payload){
    return {
        type: POST_TODO,
        payload
    };
}
onSubmit(e) {
    e.preventDefault();
    let payload = this.state.content
    this.props.dispatch(post_todo(payload)); <=== this line
    console.log(this.props.todos)
    this.setState({
        content: ""
    })
}
componentWillReceiveProps(nextProps) {
  const { todos } = nextProps;

  console.log('I recieved new todos', todos);
}