Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.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
Reactjs React服务器端呈现表单在React组件初始化后清除输入_Reactjs - Fatal编程技术网

Reactjs React服务器端呈现表单在React组件初始化后清除输入

Reactjs React服务器端呈现表单在React组件初始化后清除输入,reactjs,Reactjs,我有一个完全反应化的表单,它使用服务器端呈现来立即显示页面,而不是在React脚本加载之后 问题是,如果用户开始在表单中输入任何信息,只要React加载并重建表单,输入就会被删除。什么是防止这种情况发生的正确方法,而不必跳过太多的障碍 理想情况下,我希望保留输入,然后将其存储在React状态。表单组件中是否有value属性?如果是这样,则应考虑这些组件,这使它们反映存储在组件内的值。在DOM元素上初始化组件时,元素的值将重置 有两种解决办法: 不要使用受控组件并自行进行数据绑定。文档中描述了如何

我有一个完全反应化的表单,它使用服务器端呈现来立即显示页面,而不是在React脚本加载之后

问题是,如果用户开始在表单中输入任何信息,只要React加载并重建表单,输入就会被删除。什么是防止这种情况发生的正确方法,而不必跳过太多的障碍


理想情况下,我希望保留输入,然后将其存储在React状态。

表单组件中是否有
value
属性?如果是这样,则应考虑这些组件,这使它们反映存储在组件内的值。在DOM元素上初始化组件时,元素的值将重置

有两种解决办法:

  • 不要使用受控组件并自行进行数据绑定。文档中描述了如何执行此操作
  • 默认情况下禁用表单,并在完全初始化后启用它
    添加了一个api
    ReactDOM.hydrome
    ,以在执行服务器端渲染时替代
    ReactDOM.render
    。用水合物替换渲染为我解决了这个问题。

    您的表单重新渲染不会花费那么长时间。