对React还是很新的,并且一直在从事一个项目。我一直需要将此计数器作为全局变量进行跟踪,并在组件内部更新其值。我已经使用setState钩子const [currentMaxRow,setRow] = useState(3)声明了此计数器,并且我想在传递给它的组件内部更新此值。不太确定如何处理,谢谢!
这实际上非常简单。您唯一需要做的就是将“ setRow”函数传递给子组件。现在,只要您想更新父级中的状态,就基本上可以在子级组件内部调用prop函数。
但是,我认为值得一提的是,组件的状态和全局变量不是同一件事。我强烈建议您阅读有关组件,状态和道具的React文档。它将清除更多的东西!
使用钩子的示例应用程序
将值和函数传递给子组件。
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>
</>
);