Добавление нескольких для каждого в функции обратного вызова в реакции - PullRequest
0 голосов
/ 24 апреля 2019

Я новичок в react redux. Вот что я пытаюсь сделать, это то, что

У меня есть функция, которая вызывается по щелчку флажка.

handleCheckBox = () => {
    this.setState({
      isCheckd: !this.state.isCheckd,
      isEnable: !this.state.isCheckd ? true : false
    }, () => {
      this.props.untracked.forEach((item) => this.setState({ [item.resumeId]: this.state.isCheckd }))
    });
  }

Теперь в этой функции у меня есть обратный вызов, в котором я использую цикл foreach для одного массива с несколькими объектами.

Теперь я хочу вызвать другую функцию обратного вызова таким же образом, как после likem

 handleCheckBox = () => {
    this.setState({
      isCheckd: !this.state.isCheckd,
      isEnable: !this.state.isCheckd ? true : false
    }, () => {
      this.props.untracked.forEach((item) => this.setState({ [item.resumeId]: this.state.isCheckd })),
this.props.tracked.forEach((item) => this.setState({ [item.resumeId]: this.state.isCheckd }))
    });
  }

вот так.

  handleTableCheckboxChange = (e, type) => {
    this.setState({
      [e.target.name]: e.target.checked
    }, () => {
      const checkedItems = this.props[type].filter((item) => this.state[item.resumeId])
      this.setState({
        isCheckd: checkedItems.length === this.props[type].length ? true : false,
        isEnable: checkedItems.length > 1 ? true : false
      });
    });
  }

Итак, есть ли способ сделать это?Спасибо за помощь.

1 Ответ

0 голосов
/ 24 апреля 2019

Удалить запятую (,) в конце forEach и поставить;

handleCheckBox = () => {
    this.setState({
      isCheckd: !this.state.isCheckd,
      isEnable: !this.state.isCheckd ? true : false
    }, () => {
      //remove the comma at end of the forEach and put ;
      this.props.untracked.forEach((item) => this.setState({ [item.resumeId]: this.state.isCheckd }));
this.props.tracked.forEach((item) => this.setState({ [item.resumeId]: this.state.isCheckd }));
    });
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...