Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何消除异步行为?_Javascript_Reactjs_Asynchronous - Fatal编程技术网

Javascript 如何消除异步行为?

Javascript 如何消除异步行为?,javascript,reactjs,asynchronous,Javascript,Reactjs,Asynchronous,我一直在阅读,在Redux文档中遇到了一行 React等库试图在视图层中解决此问题 通过删除异步和直接DOM操作 我理解React不允许DOM操作的部分,因为它使用render()方法抽象实际渲染。我对第二部分感到困惑 React如何删除异步?有人能用例子或有效的用例来解释吗。我认为最好的例子是像dust.js这样的渲染库 它异步呈现模板,创建文档片段,并让用户在回调中处理追加 而且。。。我认为回调中执行的任何DOM突变都属于这种情况。它通过设计从视图层中删除了异步行为。您不能在渲染中执行异步操

我一直在阅读,在Redux文档中遇到了一行

React等库试图在视图层中解决此问题 通过删除异步和直接DOM操作

我理解React不允许DOM操作的部分,因为它使用
render()
方法抽象实际渲染。我对第二部分感到困惑


React如何删除异步?有人能用例子或有效的用例来解释吗。

我认为最好的例子是像dust.js这样的渲染库 它异步呈现模板,创建文档片段,并让用户在回调中处理追加


而且。。。我认为回调中执行的任何DOM突变都属于这种情况。

它通过设计从视图层中删除了异步行为。您不能在
渲染
中执行异步操作,否则渲染的内容将被破坏

React等库试图在视图层解决此问题 通过[从
render
方法]删除异步和直接DOM操作

您缺少最后一句话,该句话提供了进一步的解释:

但是,管理数据的状态由您自己决定。 这就是Redux进入的地方


总而言之,必须在render方法中没有异步调用,但是在Redux处理的状态管理部分中可能会发生一些异步事件。您不能按设计在呈现方法中执行异步操作。如果这样做,它将不起作用。

我认为它通过使用虚拟DOM删除了异步DOM操作。。。所以它在改变真正的DOM之前会做一些事情