【发布时间】:2020-11-14 00:08:51
【问题描述】:
我可以使用 React Context API 来管理 itemsInCart 的全局状态,允许 Product 更新上下文,并且只有 Nav 可以使用和重新渲染。我不想在更改时重新渲染整个应用程序。
阅读 React 文档,我看到 Context 用户需要在提供者的下游,所以不确定这是否可行
代码(大大简化):
function NavBar () {
const [itemsInCart, setItemsInCart] = useState(0)
return (
<button onClick={openCart}>{itemsInCart}</button>
)
}
function Product() {
function incrementCart () {
???
}
return (
<button onClick={() => incrementCart}>add product to cart</button>
)
}
function App () {
return (
<NavBar/>
<Router>
<Product/>
</Router>
)
}
【问题讨论】:
标签: reactjs react-context