Если условие не работает в componentDidUpdate, отреагируйте js - PullRequest
0 голосов
/ 06 апреля 2020

// Я сравниваю ответ от редуктора после успешной отправки формы. Как я могу установить предупреждение в 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;
};

1 Ответ

0 голосов
/ 06 апреля 2020

Если вы передаете функцию в setState, она должна вернуть объект для установки, а не другой setState. Итак, этот ряд:

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

Вероятно, должен быть такой:

this.setState({ alert: true });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...