0

// 我正在比较成功提交表单后reducer的响应。获得成功响应后如何将alert设置为true。

componentDidUpdate(prevProps) {
  if (this.props.tempData!==prevProps.tempData) {
    this.setState(() => this.setState({ alert: true }));
  }

}
const mapStateToProps = state => {
return {  tempData: state.CourseReducer['result'] };
};
export default connect(mapStateToProps, { postRetriver })(
TextField
);

//reducer
export const CourseReducer = (state = {}, action) => {
  if (action.type === 'SET_COURSE') {
   // console.log(action.payload)-->{status: 200, data: "Updated Successfully"}
    return { ...state, "result":action.payload };
  }
  return state;
};
4

1 回答 1

0

如果您将函数传递给setState它,则需要返回要设置的对象,而不是另一个setState. 所以这一行:

this.setState(() => this.setState({ alert: true }));

应该是这样的:

this.setState({ alert: true });
于 2020-04-06T12:49:26.577 回答