如何访问 CreateContainer 中的原始道具?
How to access original props inside CreateContainer?
我有一个非常简单但可怕的问题。
比方说,我有一个由 createContainer
:
包装的 React 组件(称为 List
)
class List extends Component {
render() {
return (
...
);
}
}
export default createContainer({
...
}, List);
List
有一个来自 parent 的道具:activeListId
.
我使用createContainer
订阅订阅,但我需要在该订阅中传递一个参数。参数为activeListId
值。
export default createContainer({
Meteor.subscribe('ListItems', this.props.activeListId);
return {
...
}
}, List);
所以我需要在 createContainer
代码中访问原始组件的道具。这太奇怪了,但我不能这样做! this
createContainer
中的上下文与 List
中的 this
不同。
谁知道如何实现?
作为它的第一个参数,createContainer
应该接收一个以 props
作为参数的函数。所以你需要这样做:
export default createContainer(props => {
Meteor.subscribe('ListItems', props.activeListId);
return {
...
}
}, List);
我有一个非常简单但可怕的问题。
比方说,我有一个由 createContainer
:
List
)
class List extends Component {
render() {
return (
...
);
}
}
export default createContainer({
...
}, List);
List
有一个来自 parent 的道具:activeListId
.
我使用createContainer
订阅订阅,但我需要在该订阅中传递一个参数。参数为activeListId
值。
export default createContainer({
Meteor.subscribe('ListItems', this.props.activeListId);
return {
...
}
}, List);
所以我需要在 createContainer
代码中访问原始组件的道具。这太奇怪了,但我不能这样做! this
createContainer
中的上下文与 List
中的 this
不同。
谁知道如何实现?
作为它的第一个参数,createContainer
应该接收一个以 props
作为参数的函数。所以你需要这样做:
export default createContainer(props => {
Meteor.subscribe('ListItems', props.activeListId);
return {
...
}
}, List);