在React中更新全局变量/状态

问题描述 投票:-1回答:2

对React还是很新的,并且一直在从事一个项目。我一直需要将此计数器作为全局变量进行跟踪,并在组件内部更新其值。我已经使用setState钩子const [currentMaxRow,setRow] = useState(3)声明了此计数器,并且我想在传递给它的组件内部更新此值。不太确定如何处理,谢谢!

javascript reactjs typescript
2个回答
0
投票

这实际上非常简单。您唯一需要做的就是将“ setRow”函数传递给子组件。现在,只要您想更新父级中的状态,就基本上可以在子级组件内部调用prop函数。

但是,我认为值得一提的是,组件的状态和全局变量不是同一件事。我强烈建议您阅读有关组件,状态和道具的React文档。它将清除更多的东西!


0
投票

使用钩子的示例应用程序

将值和函数传递给子组件。

 function App() {
  const [currentMaxRow, setRow] = React.useState(3)  

  const incrementVal = () => {
    setRow(currentMaxRow + 1);
  };
  return (
    <div>
      <p>You clicked {currentMaxRow} times</p>
      <Child count={currentMaxRow} incrementVal={incrementVal} />
    </div>
  );
}
const Child = props => (
  <>
    <button onClick={props.incrementVal}>Click me</button>
    <h3>{props.count}</h3>
  </>
);
© www.soinside.com 2019 - 2024. All rights reserved.