【发布时间】:2019-12-24 02:09:13
【问题描述】:
我试图捕捉用户停止输入受控输入的那一刻。它在不受控制的组件内部发生得如此顺利。
当我尝试使用setTimeout 时,只有最后一个字符作为输入,其余的都没有输入。我不知道为什么会这样
import React, { Component } from "react";
import ReactDOM from "react-dom";
import {connect} from 'react-redux';
import "./styles.css";
class Main extends Component{
state={}
timeout = null;
onChange = e => {
this.props.handleInputChange(e.target.value);
}
render(){
return (
<div className="Main">
<input type='text' value={this.props.val} onChange={this.onChange}/>
</div>
);
}
}
const mapStateToProps = state => {
val: state.reducer.val
}
const mapDispatchToProps = dispatch => {
handleInputChange: (val)=>dispatch(reducer.changeInput(val))
}
connect(mapStateToProps,mapDispatchToProps)(Main);
当用户停止输入时,它应该发送 changeInput 动作
【问题讨论】:
-
提供你的代码尝试解决问题,我们可以看看有什么问题
-
好吧,我已经到了这一点!我试图在用户停止输入后立即发送
CHANGE_INPUT操作。 codesandbox.io/s/redux-example-ii9tx -
请看上面的链接
标签: reactjs forms input react-redux controlled-component