Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/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
Reactjs TypeError:无法读取属性';价值';输入时未定义的数量(tags.js:64)_Reactjs - Fatal编程技术网

Reactjs TypeError:无法读取属性';价值';输入时未定义的数量(tags.js:64)

Reactjs TypeError:无法读取属性';价值';输入时未定义的数量(tags.js:64),reactjs,Reactjs,我做错了什么 我试图使用管理我的表单状态,但我得到一个错误: 未捕获的TypeError:无法读取未定义的属性“值” 输入时(tags.js:64) 在mountIndeterminateComponent(react dom.development.js:10400) 首先,我创建了一个包装器输入 // MyInput import Link, { LinkedComponent } from 'valuelink'; import { Input } from 'valuelink/tags

我做错了什么

我试图使用管理我的表单状态,但我得到一个错误:

未捕获的TypeError:无法读取未定义的属性“值” 输入时(tags.js:64) 在mountIndeterminateComponent(react dom.development.js:10400)

首先,我创建了一个包装器输入

// MyInput
import Link, { LinkedComponent } from 'valuelink';
import { Input } from 'valuelink/tags';
export default class extends LinkedComponent /* I tryed extends from PureComponent too */ {
  state = {};
  render() {
    <Input {...rest} />
  }
}
//MyInput
从“valuelink”导入链接,{LinkedComponent};
从'valuelink/tags'导入{Input};
导出默认类扩展LinkedComponent/*我也尝试从PureComponent扩展*/{
状态={};
render(){
}
}
我正在尝试在另一个组件中使用

import Link, { LinkedComponent } from 'valuelink';
import MyInput from 'components/MyInput';
export default class extends LinkedComponent {
  render() {
    const linked = this.linkAll();
    return <MyInput valueLink={linked.fieldTest} />
  }
}
导入链接,{LinkedComponent}来自“valuelink”;
从“组件/MyInput”导入MyInput;
导出默认类扩展LinkedComponent{
render(){
const linked=this.linkAll();
返回
}
}

显然,valueLink已被弃用(而且,很久以前)。改用value和onChange。请参见说明。

要修复。。我需要显式声明状态中的所有字段

state = {
  field1: undefined
};

是的,这个答案是正确的:

state = {
  field1: undefined
};
原因是
组件.linkAll()
无法猜测空状态的可能属性。它们必须被初始化。此外,出于其他一些原因,这是一个很好的实践


也许,我应该将其添加到文档中(我是
valuelink
package的作者)。当然,它并没有遭到反对。这是“功能完成”:。

您不需要命名类吗?您正在扩展它们是的,但没有命名它们。我不需要命名类。只是导出。
valuelink
我使用的不是React。。来自