Reactjs 如果使用MapStateTops,则输入属性不会更改
我对Reactjs有新的了解。我有棱角背景。 我面临着手动更改字段纬度的问题。 我尝试将onChange与handleChange一起使用,但它不起作用 我做错了什么 代码Reactjs 如果使用MapStateTops,则输入属性不会更改,reactjs,Reactjs,我对Reactjs有新的了解。我有棱角背景。 我面临着手动更改字段纬度的问题。 我尝试将onChange与handleChange一起使用,但它不起作用 我做错了什么 代码 类表单扩展了React.Component{ 建造师(道具){ 超级(道具); } handleChange(值){ 让coords={…this.state.coords} 坐标纬度=数值; this.setState({coords}) } render(){ 返回( Широта this.handleChange(e
类表单扩展了React.Component{
建造师(道具){
超级(道具);
}
handleChange(值){
让coords={…this.state.coords}
坐标纬度=数值;
this.setState({coords})
}
render(){
返回(
Широта
this.handleChange(event.target.value)}value={this.props.coords.latitude}/>
Долгота
{
this.setState({type});
}}type='text'值={this.props.coords.longitude}/>
);
}
}
函数MapStateTops(状态){
返回{
coords:state.coords
}
}
导出默认连接(MapStateTops)(表单);
您正在将MapStateTrops
连接器提供的道具与组件的内部状态
混合使用
如果您想要更改存储区中的纬度,则需要调度
进行更改的事件,然后组件将自动更改其值
您还需要实现mapDispatchToProps
请参阅说明如何正确执行此操作的说明。您想使用
道具
还是状态
?我之所以这么问,是因为你似乎阅读了道具中的所有内容,然后使用setState
尝试更新某些内容。。。
class Form extends React.Component {
constructor(props){
super(props);
}
handleChange(value) {
let coords= {...this.state.coords}
coords.latitude = value;
this.setState({coords})
}
render() {
return (<div>
<label htmlFor ="latitude">Широта</label>
<input id='latitude' type='text'
onChange={(event) => this.handleChange(event.target.value)} value={this.props.coords.latitude} />
<label htmlFor ="longitude">Долгота</label>
<input id='longitude' onChange={(type) => {
this.setState({type});
}} type='text' value={this.props.coords.longitude} />
<input onClick={this.handleClick} type='submit' value='Посмотреть на карте'/>
</div>
);
}
}
function mapStateToProps(state) {
return {
coords: state.coords
}
}
export default connect(mapStateToProps)(Form);