5

我有一个非常简单和可怕的问题。

假设,我有一个 React 组件(称为List),由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代码中原始组件的道具。这太奇怪了,但我不能这样做!thiscontext inside与insidecreateContainer不同。thisList

谁知道如何实现?

4

1 回答 1

8

作为它的第一个参数,createContainer应该接收一个props作为参数的函数。所以你需要这样做:

export default createContainer(props => {
  Meteor.subscribe('ListItems', props.activeListId);
  return {
    ...
  }
}, List);
于 2016-08-12T10:52:45.867 回答