重置React本机中功能组件的状态值

sqxo8psd  于 2023-02-13  发布在  React
关注(0)|答案(1)|浏览(100)

我已经创建了购物车功能,我已经使用useState挂钩管理这一点。虽然我可以改变项目的数量,但如果我关闭模态,它不能重置。(我想关闭模态数量0)。
令[添加数据,设置添加数据] =使用状态([]);
在这里,如果我关闭后再次打开模态我得到以前的值,但我想0而不是。请检查您的参考附件图像。
我尝试过,但出现此错误:太多的重新呈现。react限制呈现的数量以防止无限循环。
所以,如果有人有主意,请让我知道。
提前感谢:)x1c 0d1x

vtwuwzda

vtwuwzda1#

为此,您可能需要在modal dismiss上触发一个reset函数,但这到底意味着什么呢?!

父组件

假设我们有一个从父组件接收状态的模态。

const MyParentComponent = () => {
  const [opened, setOpened] = useState(false);
  const [state, setState] = useState([])

  const onOpen = () => {
    setOpened(true)
  }

  const onDismiss = () => {
    setOpened(false)
    setState([])
  }

  return ( 
    <>
      {myComponent()}
      <Modal isOpened={opened} state={state} setState={setState} onDismiss={onDismiss} />
    </>
  )
}

这里发生的事情是,我们将一个状态从父组件传递到模态组件,但每次关闭模态组件时,我们都会重置传递给它的状态。
这解决了您的问题,但是请检查beta.reactjs文档的这一部分

相关问题