为什么TextBox在提交reactjs后清除

时间:2017-03-06 10:54:24

标签: reactjs

我正在尝试将数据从一个组件传递到另一个组件。但它没有父子关系,而且彼此独立。我能够设置状态,但问题是在点击输入后我的文本数据被清除。不知道为什么,

export class EmpSearch extends React.Component {
    // Not needed anymore as state going to Redux and not local component state
/*
    constructor(props) {
    super(props);
    this.state = {
        Empnumber: ''
    };
    }
*/
 EmpSearch = (e) => {    
if (e.key === 'Enter') {
  browserHistory.push('/Emp/' + e.target.value); 
}
}

updateEmpNumber(e) {

     this.props.dispatch({
            type: 'UPDATE_EMP_NUMBER',
            payload: e.target.value
        });
}

render() {
return (
    <div className="row">
    <form>
        <div className="form-group">
        <label htmlFor="Empnumber">Emp Number</label>
        <input type="text" className="form-control" id="Empnumber" placeholder="Emp Number" value={this.props.Empnumber} onChange={this.updateEmpNumber.bind(this)} onKeyPress={this.EmpSearch}/>
        </div>
    </form>
    </div>
);
}
 }
 function mapStateToProps(state){
return {
    Empnumber: state.Empnumber
}
}

 export default connect(mapStateToProps)(EmpSearch);

1 个答案:

答案 0 :(得分:0)

browserHistory.push('/Emp/' + e.target.value);可能导致您的组件卸载并重新装入。 您说该值存储在redux状态,但我无法看到您更新redux状态的位置。