我正在编写一个简单的代码,它将生成一个包含数据的输入框。当我更改输入框中的数据时,应该更新数据库。我正在使用onChange函数将触发一个动作来实现这一点,但onChange似乎根本没有触发。浏览器一直显示"警告:失败的表单propType:您为表单提供了value
道具.."。
以下是我的代码:
import React, {Component} from 'react';
import {connect} from 'react-redux';
import {bindActionCreators} from 'redux';
import {handleChange} from '../actions/handleChange';
class NoteSelected extends Component {
render() { // onChange to be added
const inputStyle = {width: "100%"};
if(!this.props.noteSelected)
return (<h4>Select a note..</h4>)
return (
<div className="col-sm-9 col-md-6 col-lg-8" >
<h4>{this.props.noteSelected.heading}</h4>
<input key={this.props.noteSelected.id} id={this.props.noteSelected.id}
value={this.props.noteSelected.text} onChange={this.props.handleChange} style={inputStyle} />
</div>
)
}
}
function mapStateToProps (state) {
return {
noteSelected: state.noteSelected
}
}
function mapDispatchToProps(dispatch) {
return bindActionCreators({handleChange: handleChange}, dispatch)
}
export default connect (mapStateToProps, mapDispatchToProps) (NoteSelected);
&#13;
答案 0 :(得分:0)
问题实际上与此链接相同:Failed form propType: You provided a `value` prop to a form field without an `onChange` handler
只需将value
更改为defaultValue
或placeholder
即可解决问题。