【发布时间】:2017-11-16 01:41:43
【问题描述】:
我在 Codeacademy 学习了 React.JS 课程。这个问题来自 React.JS 第二部分。 我正在学习编程模式,但我不明白这种模式是如何工作的
代码:
Parent.js
var React = require('react');
var ReactDOM = require('react-dom');
var Child = require('./Child');
var Parent = React.createClass({
getInitialState: function () {
return { name: 'Frarthur' };
},
changeName: function (newName) {
this.setState({
name: newName
});
},
render: function () {
return (
<Child
name={this.state.name}
onChange={this.changeName}
/>
);
}
});
ReactDOM.render(
<Parent />,
document.getElementById('app')
);
还有第二部分:
Child.js
var React = require('react');
var Child = React.createClass({
handleChange: function (e) {
var name = e.target.value;
this.props.onChange(name);
},
render: function () {
return (
<div>
<h1>
Hey my name is {this.props.name}!
</h1>
<select id="great-names" onChange={this.handleChange}>
<option value="Frarthur">
Frarthur
</option>
<option value="Gromulus">
Gromulus
</option>
<option value="Thinkpiece">
Thinkpiece
</option>
</select>
</div>
);
}
});
module.exports = Child;
当我更改<option> 中的名称时,程序会自动更改值并打印新的描述。但我不明白这个函数是如何工作的:
handleChange: function (e) {
var name = e.target.value;
this.props.onChange(name);
有人可以一步一步解释吗?
【问题讨论】:
-
“我不明白这个函数是如何工作的” 你特别不明白什么?这个功能没什么特别的……
-
这个handleChange函数有什么作用?
-
这不能回答我的问题。你在寻找什么样的解释?所有函数的工作方式都是一样的:当一个函数被调用时,函数体中的每一条语句都会被执行。
-
I took React.JS course in Codeacademy- 你能再上这门课吗? -
handleChange 做什么?
标签: javascript reactjs react-native architectural-patterns