componentDidMount
如果你想使用一些非 React JavaScript 插件,这很有用。例如,React 中缺少一个好的日期选择器。Pickaday很漂亮,而且开箱即用。所以我的 DateRangeInput 组件现在使用 Pickaday 作为开始和结束日期输入,我像这样连接它:
componentDidMount: function() {
new Pikaday({
field: React.findDOMNode(this.refs.start),
format: 'MM/DD/YYYY',
onSelect: this.onChangeStart
});
new Pikaday({
field: React.findDOMNode(this.refs.end),
format: 'MM/DD/YYYY',
onSelect: this.onChangeEnd
});
},
需要为 Pikaday 呈现 DOM 以连接到它,并且该componentDidMount
挂钩可让您连接到该确切事件。
componentWillMount
当您想在组件安装之前以编程方式执行某些操作时非常有用。我正在处理的一个代码库中的一个例子是一个 mixin,它有一堆代码,否则这些代码会在许多不同的菜单组件中重复。componentWillMount
用于设置一个特定共享属性的状态。componentWillMount
可以使用的另一种方法是通过 prop(s) 设置组件分支的行为:
componentWillMount() {
let mode;
if (this.props.age > 70) {
mode = 'old';
} else if (this.props.age < 18) {
mode = 'young';
} else {
mode = 'middle';
}
this.setState({ mode });
}