Javascript 如何消除异步行为?
我一直在阅读,在Redux文档中遇到了一行 React等库试图在视图层中解决此问题 通过删除异步和直接DOM操作 我理解React不允许DOM操作的部分,因为它使用Javascript 如何消除异步行为?,javascript,reactjs,asynchronous,Javascript,Reactjs,Asynchronous,我一直在阅读,在Redux文档中遇到了一行 React等库试图在视图层中解决此问题 通过删除异步和直接DOM操作 我理解React不允许DOM操作的部分,因为它使用render()方法抽象实际渲染。我对第二部分感到困惑 React如何删除异步?有人能用例子或有效的用例来解释吗。我认为最好的例子是像dust.js这样的渲染库 它异步呈现模板,创建文档片段,并让用户在回调中处理追加 而且。。。我认为回调中执行的任何DOM突变都属于这种情况。它通过设计从视图层中删除了异步行为。您不能在渲染中执行异步操
render()
方法抽象实际渲染。我对第二部分感到困惑
React如何删除异步?有人能用例子或有效的用例来解释吗。我认为最好的例子是像dust.js这样的渲染库 它异步呈现模板,创建文档片段,并让用户在回调中处理追加
而且。。。我认为回调中执行的任何DOM突变都属于这种情况。它通过设计从视图层中删除了异步行为。您不能在
渲染
中执行异步操作,否则渲染的内容将被破坏
React等库试图在视图层解决此问题
通过[从render
方法]删除异步和直接DOM操作
您缺少最后一句话,该句话提供了进一步的解释:
但是,管理数据的状态由您自己决定。
这就是Redux进入的地方
总而言之,必须在render方法中没有异步调用,但是在Redux处理的状态管理部分中可能会发生一些异步事件。您不能按设计在呈现方法中执行异步操作。如果这样做,它将不起作用。我认为它通过使用虚拟DOM删除了异步DOM操作。。。所以它在改变真正的DOM之前会做一些事情