我使用ReactJS,Typescript和Firebase构建了一个Web应用程序,其中一个用户将能够监视更改以及与另一个用户的UI的交互。两个用户可以同时看到相同的视图,并显示一些图像。例如,User1单击的任何图像都会更改其边框,这应该反映在User2的UI中。 仅使用DOM,打字稿和firebase就可以做到这一点,但是使用ReactJS我会遇到很多困难。
第一个问题: 是否可以在不使用状态或道具的情况下更新ReactJS中已创建和显示的组件?
从我到目前为止所看到的情况来看,我认为这是不可能的。所以,
第二个问题: 我试图单独使用状态来实现我所解释的内容,但似乎每当User1更改状态时,显示给User1的组件将单独重新呈现,而User2的组件无法捕获更改重新渲染的状态。两个组件都是相同的。 我使用Chrome和Firefox与2位用户一起运行应用。有没有办法单独使用状态和道具来实现这一目标?
我是这个领域的初学者。任何帮助将不胜感激。
答案 0 :(得分:0)
如果使用redux之类的东西集中管理状态,则应用程序状态应该可以表示为单个对象。然后,您应该可以向应用添加一些redux middleware以将任何状态更改推送到Firebase,然后从 Firebase读回所有更改并将其推送到您的商店(通过行动)。
如果您更喜欢在不更改道具的情况下更新组件,则可以使用forceUpdate method。