尝试从子级设置父级组件的状态时出现错误,它显示为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
}
代码对我来说看起来不错。我已经做过一百次了。我不知道为什么。
答案 0 :(得分:0)
因此,我在多个地方使用了子组件。 问题是我不得不在useEffect中添加一个检查,
useEffect(() => {
if (simple || !getTimeToReadIdeea) {
return;
}
getTimeToReadIdeea && getTimeToReadIdeea(timeToReadInsight[insightId]);
}, [isFocused]);
这解决了我的问题。