我已将 es6 类更改为函数,现在当我尝试在子组件中调度作为 prop 向下传递的操作时,会出现上述错误。有什么想法吗?容器:import {bookmarkVideo} from '../actions/videos';export default function VideoPlayerScreen(props) { const dispatch = useDispatch(); ... const bookmarkVideo = id => { dispatch(bookmarkVideo(id)); navigate('Video Player'); }; return ( <> <VideoPlayerHeader {...videoProps} onClick={bookmarkVideo} /> ... </View>孩子:export default function VideoPlayerHeader(props) { let {title, bookMarked, icon, id, onClick} = props; return ( <View style={styles.rightContainer}> <TouchableHighlight onPress={() => onClick(id)}> // dispatch action视频.js:export const bookmarkVideo = video => ({ type: "BOOKMARK_VIDEO", video});
1 回答

繁华开满天机
TA贡献1816条经验 获得超4个赞
调度函数接收一个对象作为第一个参数,并且该对象需要根据 redux 约定具有类型和有效负载。
我认为您收到该错误是因为您有复发问题。您一次又一次地调用相同的函数。
export default function VideoPlayerScreen(props) {
const dispatch = useDispatch();
...
const bookmarkVideo = id => {
dispatch({
type: 'BOOKMARK_VIDEO',
payload: id
});
navigate('Video Player');
};
return (
<>
<VideoPlayerHeader
{...videoProps}
onClick={bookmarkVideo}
/>
...
</>
);
}
请查看文档以获取更多信息 钩子 ·反应还原
这个答案也可能有用。超出最大调用堆栈大小错误
添加回答
举报
0/150
提交
取消