Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.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 跟踪redux表单上禁用字段的最佳方法_Javascript_Reactjs_Redux_Redux Form - Fatal编程技术网

Javascript 跟踪redux表单上禁用字段的最佳方法

Javascript 跟踪redux表单上禁用字段的最佳方法,javascript,reactjs,redux,redux-form,Javascript,Reactjs,Redux,Redux Form,第一个帖子在这里,请耐心等待 我一直在寻找这个问题,但没有找到答案 请考虑一个包含3个文本字段的表单:A、B和C。 当A被填充时,将触发异步服务器获取,结果可以定义B、C或两者的值。 如果用户更改了A,则必须清除B e C的旧值并触发新的提取。 到现在为止,一直都还不错。当需要填写(或清除)B和C时,我将发送一个更改操作 但是,有一条规则。 当服务器提取填充字段时,必须禁用该字段,因此用户不能直接更改该值。 如果没有,它必须保持启用状态,以便用户可以填充它 您认为跟踪必须禁用的场地的最佳方法是什

第一个帖子在这里,请耐心等待

我一直在寻找这个问题,但没有找到答案

请考虑一个包含3个文本字段的表单:A、B和C。 当A被填充时,将触发异步服务器获取,结果可以定义B、C或两者的值。 如果用户更改了A,则必须清除B e C的旧值并触发新的提取。 到现在为止,一直都还不错。当需要填写(或清除)B和C时,我将发送一个更改操作

但是,有一条规则。 当服务器提取填充字段时,必须禁用该字段,因此用户不能直接更改该值。 如果没有,它必须保持启用状态,以便用户可以填充它

您认为跟踪必须禁用的场地的最佳方法是什么

就我所搜索到的,redux表单不直接执行此操作

我应该把这些信息保存在redux州的独立结构上吗?我应该使用reducer插件扩展redux表单状态吗? 无论哪种方式,我是否应该分派一种新类型的操作来禁用每个字段

另一个选项是使用“自动填充”而不是“更改”,并禁用标记为自动填充的字段

我是否错过了一个非常简单的解决方案

谢谢

我不确定是否有“简单”的解决方案。就我个人而言,我会创建一个React状态来跟踪B和C的状态,可能类似于

{
  BGenerated: true,
  CGenerated: true
}
当您呈现
字段
输入时,添加props
disabled={this.state.BGenerated}