尝试显示由样式化组件组成的组件时出现状态问题(错误的 setState?)
React state issue (a bad setState?) when trying to show a component composed with styled components
现在我不完全确定是什么事情的汇合导致了这个问题,但让我们从我的最小 reproduction
开始
我想做什么
我想显示一个样式元素,该元素由模式内部的各种“继承”成员组成。单击该元素后,它将关闭模态。
实际结果
由于某种原因,元素会提前 onClick
触发,只要您单击实际应该打开模式的按钮。这只是因为它是一个样式化的组件(我认为)。 如果我将元素从 Para
更改为普通 p
,它会正常运行。
我想知道,这是什么原因造成的?是我嵌套太多了吗?我得到的错误是
Warning: Cannot update a component (`App`) while rendering a different component (`Styled(Styled(styled.div))`). To locate the bad setState() call inside `Styled(Styled(styled.div))`, follow the stack trace as described in https://reactjs.org/link/setstate-in-render
这里的问题是您正在传播...在您的 Para 样式组件中休息。从 ./Para.js 中删除它,它应该按预期工作
现在我不完全确定是什么事情的汇合导致了这个问题,但让我们从我的最小 reproduction
开始我想做什么
我想显示一个样式元素,该元素由模式内部的各种“继承”成员组成。单击该元素后,它将关闭模态。
实际结果
由于某种原因,元素会提前 onClick
触发,只要您单击实际应该打开模式的按钮。这只是因为它是一个样式化的组件(我认为)。 如果我将元素从 Para
更改为普通 p
,它会正常运行。
我想知道,这是什么原因造成的?是我嵌套太多了吗?我得到的错误是
Warning: Cannot update a component (`App`) while rendering a different component (`Styled(Styled(styled.div))`). To locate the bad setState() call inside `Styled(Styled(styled.div))`, follow the stack trace as described in https://reactjs.org/link/setstate-in-render
这里的问题是您正在传播...在您的 Para 样式组件中休息。从 ./Para.js 中删除它,它应该按预期工作