Javascript 对此作出反应。设置安装或安装时的状态警告
我一直得到: 警告:设置状态(…):只能更新已安装或正在安装的 组成部分这通常意味着您在未安装的服务器上调用了setState() 组成部分这是禁止操作。请检查SearchInput的代码 组成部分 我尝试过以下方法:Javascript 对此作出反应。设置安装或安装时的状态警告,javascript,events,reactjs,Javascript,Events,Reactjs,我一直得到: 警告:设置状态(…):只能更新已安装或正在安装的 组成部分这通常意味着您在未安装的服务器上调用了setState() 组成部分这是禁止操作。请检查SearchInput的代码 组成部分 我尝试过以下方法: 问题很简单:当用户在输入字段中键入内容时,通过onChange属性和setState import React, { Component } from 'react'; class SearchInput extends Component { constructor
问题很简单:当用户在输入字段中键入内容时,通过
onChange
属性和setState
import React, { Component } from 'react';
class SearchInput extends Component {
constructor() {
super();
this.state = {
inputValue: ''
};
this.onChange = this.onChange.bind(this);
}
render() {
return (
<input
type="text"
value={this.state.inputValue}
onChange={this.onChange} />
);
}
onChange(e) {
console.log('yo');
this.setState({ inputValue: e.target.value });
}
}
export default SearchInput;
在此之后:
但当我回到以前的状态时:
{
"presets": ["es2015", "stage-1", "react"],
"plugins": ["react-hot-loader/babel"]
}
警告消失了
最新最小值中的某个值不抖动。使用defaultValue而不是value
render() {
return (
<input
type="text"
defaultValue ={this.state.inputValue}
onChange={this.onChange} />
);
}
render(){
返回(
);
}
检查此非受控组件概念:
基本上输入保持自己的状态当您设置值使用表达式时,它将在呈现SearchInput组件时触发输入组件(未安装组件)中的状态更改。在什么情况下会收到警告?状态={inputValue:“”
请尝试在构造函数上方指定状态,而不要在100%的内部指定。请确保错误与上面的代码无关。@zerkms我正在使用webpack加载具有根入口点的index.html。唯一的组件就是这个
@FurkanO你能详细说明一下吗?
render() {
return (
<input
type="text"
defaultValue ={this.state.inputValue}
onChange={this.onChange} />
);
}