Reactjs 如果使用MapStateTops,则输入属性不会更改

Reactjs 如果使用MapStateTops,则输入属性不会更改,reactjs,Reactjs,我对Reactjs有新的了解。我有棱角背景。 我面临着手动更改字段纬度的问题。 我尝试将onChange与handleChange一起使用,但它不起作用 我做错了什么 代码 类表单扩展了React.Component{ 建造师(道具){ 超级(道具); } handleChange(值){ 让coords={…this.state.coords} 坐标纬度=数值; this.setState({coords}) } render(){ 返回( Широта this.handleChange(e

我对Reactjs有新的了解。我有棱角背景。 我面临着手动更改字段纬度的问题。 我尝试将onChange与handleChange一起使用,但它不起作用 我做错了什么

代码

类表单扩展了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);