ReactJS 组件的某些实例不会更新



我正在为电视开发VOD应用程序,我在更新幻灯片组件内部的元素时遇到了问题。基本上,当客户关注任何幻灯片时,它调用一个方法,该方法将其ID存储在state上,然后,它们的一个子程序检查存储的状态是否等于所选项目的状态,如果是,则呈现。在focusout上,它将状态设置为null。奇怪的是,在组件的大多数实例中,这是有效的,但其中一些(总是相同的实例)不会更新。

伪代码:

handleFocus(id){setFocused(id)} // Sets the id to state
handlefocusout(){setFocused(null)} // resets state
{isFocused === item.id && <div/>} // checks if state === id and renders

我和我的TL都不知道为什么它不能在一些实例上工作,除非我错了,它总是在相同的实例上。请注意,实例的内容都来自相同的JSON响应,并且在内容上都是相同的(因此是instance)。

我从来没有发现为什么EventListener不能正常触发,但我最终删除了它,并将React的事件处理程序添加到元素中,它开始工作了。

最新更新