Reactjs 我对React中的onChange事件有一个问题
有一件事让我困惑,那就是onChange事件。 如下代码所示,onChange事件与handleChange函数一起工作。 让我困惑的是事件参数Reactjs 我对React中的onChange事件有一个问题,reactjs,Reactjs,有一件事让我困惑,那就是onChange事件。 如下代码所示,onChange事件与handleChange函数一起工作。 让我困惑的是事件参数 class ControlledInput extends React.Component { constructor(props) { super(props); this.state = { input: "empty" }; // change code below this line th
class ControlledInput extends React.Component {
constructor(props) {
super(props);
this.state = {
input: "empty"
};
// change code below this line
this.handleChange = this.handleChange.bind(this);
// change code above this line
}
// change code below this line
handleChange(event) {
this.setState({
input: event.target.value
})
}
// change code above this line
render() {
return (
<div>
{ /* change code below this line */}
<input type="text" value={this.state.input} onChange={this.handleChange}></input>
{ /* change code above this line */}
<h4>Controlled Input:</h4>
<p>{this.state.input}</p>
</div>
);
}
};
类ControlledInput扩展了React.Component{
建造师(道具){
超级(道具);
此.state={
输入:“空”
};
//更改此行下面的代码
this.handleChange=this.handleChange.bind(this);
//更改此行上方的代码
}
//更改此行下面的代码
手变(活动){
这是我的国家({
输入:event.target.value
})
}
//更改此行上方的代码
render(){
返回(
{/*更改此行下方的代码*/}
{/*更改此行上方的代码*/}
受控输入:
{this.state.input}
);
}
};
event
是,您可以根据需要命名函数的参数,它仍然可以正常工作,是的
也许下面的示例将帮助您了解回调如何与JS一起工作
考虑以下函数。。。它的作用是让您注册一个函数,该函数将每隔一定的毫秒数被调用一次。无论何时调用该函数,您都将收到当前历元时间:
const timerSubscription = (ms, fn) => {
const id = setInterval(() => {
fn(Date.now());
}, ms);
return () => clearInterval(id);
}
所以你可以这样使用它:
let count = 0;
const unsubscribe = timerSubscription(1000, () => {
count++;
console.log('One second passed');
if (count === 5) {
unsubscribe();
}
});
let start = Date.now();
const unsubscribe = timerSubscription(1000, (now) => {
console.log('One second passed');
if (now + 5000 >= start) {
unsubscribe();
}
});
或者你可以这样使用它:
let count = 0;
const unsubscribe = timerSubscription(1000, () => {
count++;
console.log('One second passed');
if (count === 5) {
unsubscribe();
}
});
let start = Date.now();
const unsubscribe = timerSubscription(1000, (now) => {
console.log('One second passed');
if (now + 5000 >= start) {
unsubscribe();
}
});
它们做的几乎完全相同,一个使用调用程序传递给它的参数,另一个不使用。无论哪种方式,调用程序总是传递参数