ReactJS 表单输入初始状态未定义

用户7684436

我有一个用户表单,它从道具中提取数据并用它的值填充每个输入字段。当我点击打开一个空表单(就像我添加一个新用户一样)时,我收到错误TypeError: Cannot read property 'language' of undefined

状态:

   ...  
   constructor(props) {
    super(props);
    this.state = {
    language: this.props.user.language || '',
    description: this.props.user.description || ''
   }
   handleChange = (e) => {
    e.preventDefault();
    this.setState({[e.target.name]: e.target.value});
    console.log(this.state);
   }
   ...
  }

输入字段:

<input type="text" placeholder="Language..." id="language" name="language" value={this.state.language} onChange={this.handleChange}/>

如果它无法读取用户对象的值,它应该将值字段显示为空。我试过将 or 值设置为 null 但这会引发相同的错误。

谢谢

詹姆斯·阿尔维斯

我会为此使用componentWillReceiveProps(),因为如果您更改Parent组件中的用户,它也会更改 中的状态,Child因为它会触发componentWillReceiveProps(). 另外,检查this.props.user您的构造函数中是否存在。

...
constructor(props) {
    super(props);
    this.state = {
    language: this.props.user && this.props.user.language || '',
    description: this.props.user && this.props.user.description || ''
   }
...
componentWillReceiveProps(nextProps) {
    if (nextProps.user) {
        this.setState({
            language: nextProps.user.language,
            description: nextProps.user.description
        })
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ReactJS Material UI输入库输入提取-未定义

来自分类Dev

使用状态组件的ReactJS设置值返回未定义

来自分类Dev

reactjs:由于未定义/错误而无法映射状态

来自分类Dev

设置后 reactjs 状态数组属性未定义

来自分类Dev

为什么reactjs处的输入值未定义?

来自分类Dev

ReactJS要求未定义

来自分类Dev

ReactJS道具未定义

来自分类Dev

Reactjs,这是未定义的

来自分类Dev

从表单输入更改状态对象变量-ReactJS

来自分类Dev

reactJS:是否需要定义初始状态形状?

来自分类常见问题

在地图函数Reactjs中未定义“ this”

来自分类Dev

reactjs Typescript事件未定义

来自分类Dev

ReactJS首次获取未定义

来自分类Dev

ReactJS:对象的值未定义

来自分类Dev

ReactJS获取响应未定义

来自分类Dev

来自响应的值是未定义的ReactJs

来自分类Dev

reactjs 方法不断返回未定义

来自分类Dev

ReactJS 抛出“map”未定义错误

来自分类Dev

'$' 未定义 no-undef reactjs ajaxcall

来自分类Dev

ReactJs - ReferenceError: fetch 未定义

来自分类Dev

ReactJs:使用地图浏览状态元素,TypeError:无法读取未定义的属性“ map”?

来自分类Dev

表单输入未定义

来自分类Dev

ReactJS-使用map迭代数组中的每个项目(从状态开始)。项目的属性未定义

来自分类Dev

ReactJS:具有数组的硬编码状态,但仍出现TypeError:无法读取未定义的属性“ map”

来自分类Dev

ReactJS组件抛出未定义但被渲染的问题?

来自分类Dev

reactjs-无法读取未定义的属性推送

来自分类Dev

为什么我变得未定义不是函数,ReactJs

来自分类Dev

ReactJS:未捕获的ReferenceError:需求未定义

来自分类Dev

ReactJS-{this.props.children}未定义

Related 相关文章

热门标签

归档