我有一个非常简单和可怕的问题。
让我们说,我有一个由List
包裹的React组件(名为createContainer
):
class List extends Component {
render() {
return (
...
);
}
}
export default createContainer({
...
}, List);
List
有一个来自父母的道具:activeListId
。
我使用createContainer
订阅订阅,但我需要在该订阅中传递一个参数。参数为activeListId
值。
export default createContainer({
Meteor.subscribe('ListItems', this.props.activeListId);
return {
...
}
}, List);
所以我需要访问createContainer
代码中原始组件的道具。这太奇怪了,但我不能这样做! this
内的createContainer
内容与this
内的List
不同。
谁知道如何实现这一目标?
答案 0 :(得分:8)
作为第一个参数,props
应该接收一个以export default createContainer(props => {
Meteor.subscribe('ListItems', props.activeListId);
return {
...
}
}, List);
为参数的函数。所以你需要这样做:
var timerHandle = setInterval(function () {
/* ... code ...*/
if (--timer < 0) {
clearInterval(timerHandle);
alert("I am an alert box!");
//window.location = "http://www.google.com";
}
});