Reactjs Reducer启动,它会无意中清除输入
我正在对一个google API进行API调用。由于某种原因,当减速器启动时,组件的状态将清除,输入字段变为空白。这似乎只有在减速器启动时才会发生。当我这么做的时候,没有任何东西会被清除 这是我的输入组件Reactjs Reducer启动,它会无意中清除输入,reactjs,redux,Reactjs,Redux,我正在对一个google API进行API调用。由于某种原因,当减速器启动时,组件的状态将清除,输入字段变为空白。这似乎只有在减速器启动时才会发生。当我这么做的时候,没有任何东西会被清除 这是我的输入组件 constructor(props) { super(props) this.state = { address: '', } } handleKeyPress = (e) => { if (e.key === 'Enter'
constructor(props) {
super(props)
this.state = {
address: '',
}
}
handleKeyPress = (e) => {
if (e.key === 'Enter') {
this.getCordinates()
}
}
onChange = (e) => {
this.setState({address: e.target.value})
}
getCordinates = (latLng) => {
this.props.callTimeZoneAPI(lat,lng )
}
render() {
return (
<input type="text"
className="location_input"
onChange={this.onChange}
value={this.state.address}
onKeyPress={this.handleKeyPress}
/>
当减速器启动时,组件将重新渲染。您还缺少指定给输入的键,因此重新渲染时该值将丢失。当输入更改时(由于重新渲染),该状态将更新以匹配新输入。我在下面的输入中添加了一个键。如果有多个输入,请确保键是唯一的
<input type="text"
className="location_input"
key = "uniqueInputKey"
onChange={this.onChange}
value={this.state.address}
onKeyPress={this.handleKeyPress}
/>
<input type="text"
className="location_input"
key = "uniqueInputKey"
onChange={this.onChange}
value={this.state.address}
onKeyPress={this.handleKeyPress}
/>