gpt4 book ai didi

reactjs - 路由组件中的回调导致超出最大更新深度

转载 作者:行者123 更新时间:2023-12-04 10:56:10 29 4
gpt4 key购买 nike

这段代码会导致重新渲染循环,但我不知道我该如何解决这个问题。我知道setStartDrawingActionsetSaveAndResetAction线是罪魁祸首。但是我该如何解决这个问题?

<Switch location={location}>
<Route
exact
path="/analyse/measures"
component={() => {
return (
<MapMeasuresContainer
startDrawing={(callback: any) => {
setStartDrawingAction(callback);
}}
saveAndReset={(callback: any) => {
setsaveAndResetAction(callback);
}}
selectPolygon={(polygon: any) => selectPolygon(polygon)}
/>
);
}}
key="measures"
/>
</Switch>

最佳答案

当返回函数而不是安装的组件时,您需要使用 render而不是 component .

当您使用 component路由器使用 React.createElement从给定的组件创建一个新的 React 元素。这意味着如果您向组件 prop 提供内联函数,您将在每次渲染时创建一个新组件

docs

关于reactjs - 路由组件中的回调导致超出最大更新深度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59178875/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com