Tin*_*tin 1 meteor reactjs meteor-tracker meteor-react
我希望alert()每次在 React 中跟踪的 Meteor 订阅withTracker更改时都显示一个模式对话框(例如)。
我试过使用 Tracker.autorun来跟踪更改,但无法确定在代码中放置它的位置。它似乎在Component构造函数中不起作用,如果放在render().
这是我的代码的概述:
class Foo extends Component {
render() {
return (
<h1>Example Header</h1>
{ this.maybeShowAlert() }
);
}
maybeShowAlert() {
// ONLY if bar has been updated
alert('bar has changed');
}
}
export default withTracker(() => {
Meteor.subscribe('bar')
return {
bar: Bar.findOne({})
};
})(Foo);
Run Code Online (Sandbox Code Playgroud)
之前没有使用过 Meteor,但如果你想响应 state/prop 的变化,那么componentDidUpdate()它就是生命周期方法。例如
componentDidUpdate(prevProps) {
if (this.props.bar !== prevProps.bar {
// bar prop has changed
alert("bar changed);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1771 次 |
| 最近记录: |