Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.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 Mobx textField';s属性值不为';不变_Javascript_Reactjs_Mobx_Mobx React - Fatal编程技术网

Javascript Mobx textField';s属性值不为';不变

Javascript Mobx textField';s属性值不为';不变,javascript,reactjs,mobx,mobx-react,Javascript,Reactjs,Mobx,Mobx React,我有来自物料界面的文本字段。在值更改时,我将值分配给model.data模型是mobxFormStore。在控制台中,您可以看到值发生了变化,但输入字段在我键入时没有任何字符。为什么即使model.data更改,TextField的属性值也不会更改? 在可观察对象创建后向其添加属性不会使添加的属性可见。您需要使用extendObservable(),而不是将新属性直接分配给可观察对象。另一个解决方案是使用可观察地图。请注意,如果在循环中呈现组件,则不会拾取通过extendObservable()

我有来自物料界面的文本字段。在值更改时,我将值分配给model.data模型是mobxFormStore。在控制台中,您可以看到值发生了变化,但输入字段在我键入时没有任何字符。为什么即使model.data更改,TextField的属性值也不会更改?

在可观察对象创建后向其添加属性不会使添加的属性可见。您需要使用
extendObservable()
,而不是将新属性直接分配给可观察对象。另一个解决方案是使用可观察地图。请注意,如果在循环中呈现组件,则不会拾取通过
extendObservable()
添加的属性

extendObservable(model.data,{[e.target.name]:e.target.value})

把它弄明白了

extendObservable(model.data, {
  name: '',
  lastName: '',
  phone: '',
  skype: '',
  slack: '',
  linkedIn: '',
});

似乎可以工作,因为可观察对象中的属性是不可观察的。您需要使用extendObservable。

能否发布一个功能代码示例?如果不了解代码是如何设置的,就几乎不可能给出答案。我是否必须每次在onChange函数中扩展observable?这似乎不对。在函数外部,没有定义e。我发现,您只需要使用TextField值属性扩展可服务的model.data。非常感谢。