React-Native передача данных от дочерней к родительской ошибке - PullRequest
0 голосов
/ 11 апреля 2020

Я получаю сообщение об ошибке, когда пытаюсь установить состояние родительского компонента от дочернего элемента, он говорит getTimeToReadIdeea is not a function.

У меня есть следующее:

родительский класс компонент:

getTimeToReadIdeea = time => {
  this.setState({ timeToReadInsightId: time });
};
....//other code
  render() {
...//other code
    <Card getTimeToReadIdeea={this.getTimeToReadIdeea} />
}

дочерний функциональный компонент:

const child =({getTimeToReadIdeea}) => {
useEffect(() => {
    getTimeToReadIdeea(timeToReadInsight[insightId]);
  }, [isFocused]);

...//other code
}

Код выглядит хорошо для меня. Я делал это сто раз раньше. Я не могу понять, почему.

1 Ответ

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

Итак, я использовал свой дочерний компонент в нескольких местах. Проблема была в том, что мне пришлось добавить проверку в useEffect,

useEffect(() => {
    if (simple || !getTimeToReadIdeea) {
      return;
    }

    getTimeToReadIdeea && getTimeToReadIdeea(timeToReadInsight[insightId]);
  }, [isFocused]);

Это решило мою проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...