React use对dom元素的影响



假设我有两个"按钮";(它们是附加了onClick的div元素(。每一个都会在div元素中更改产品的价格。

当在另一个组件中单击div时,我该怎么做?

我可以以某种方式将dom元素放入useEffect的dependencies数组中吗?

例如:

useEffect(() => {
// Do stuff
}, [document.getElementById('div-that-shows-price')])

我试过上面的,没有成功。我甚至用.textContent、innerHTML。。。。

我猜我不能使用ref,因为它们在不同的组件中。或者我可以使用在另一个组件的组件中定义的引用吗?

我认为您必须使用useRef挂钩:

https://fr.reactjs.org/docs/hooks-reference.html#useref

这个问题还不清楚。但据我所知,你们为什么不把价格作为道具传递给另一个组件呢?您可以将产品价格置于父组件状态,并将其作为道具(使用updatePrice方法(传递到两个按钮组件中。或者使用全局状态(redux(。

我猜,您构建的基本上是计数器,在一个div中,您希望count(又名价格(能够递增和递减,而在另一个div,您希望看到按钮点击结果。由于您使用的是React,这是通过useState()实现的,只需将结果prop从父组件div传递给子组件div即可

最新更新