2017-04-26 13 views
0

私はリレーを初めて使用しています。それにうれしくはありますが、私はコードでほぼ一日立ち往生していますが、ここ リレーcreateContainer renderFetchedはコンポーネントに必要な小道具を渡されません

コード

は、ここに私のコンポーネント

class UserInfo extends Component { 
    render() { 
    console.log('this.props.user', this.props.user_by_id); 
    return (
     <Text>name: {this.props.user_by_id.name}</Text> 
    ) 
    } 
} 

であり、ここでリレーコンテナ

である私のクエリルート

class UserRoute extends Route { 
    static paramDefinitions = { 
    userId: { required: true } 
    }; 
    static queries = { 
    user_by_id:() => Relay.QL` 
     query { 
     user_by_id(id: $userId) 
     } 
    ` 
    }; 
    static routeName = 'UserRoute'; 
} 

です

UserInfoRelay = Relay.createContainer(
    UserInfo, 
    { 
    fragments: { 
     user_by_id:() => Relay.QL` 
     fragment on User { 
      name 
     } 
     ` 
    } 
    } 
) 

、これは私が "名前"

所望小道具を取得していないが返さgraphqlクエリは

Log from my relay

正しかった私のルートコンテナ

<RootContainer 
    Component={UserInfoRelay} 
    route={new UserRoute({userId: 5})} 
    renderFetched={(data) => <UserInfo {...this.props} {...data} />} 
/> 

です

This is props i get from log

どうしたのですか?有望であるが、かなり

は、ソリューションが変更された

答えて

0

良い日に持って☠️☠️☠️☠️☠️☠️☠️☠️出血しているに飛び込む私はリレーのために、任意の助けをありがとう

UserInfo = Relay.createContainer(
    UserInfo, 
    { 
    fragments: { 
     user_by_id:() => Relay.QL` 
     fragment on User { 
      name 
     } 
     ` 
    } 
    } 
) 

にこの

UserInfoRelay = Relay.createContainer(
    UserInfo, 
    { 
    fragments: { 
     user_by_id:() => Relay.QL` 
     fragment on User { 
      name 
     } 
     ` 
    } 
    } 
) 

これは確かに必要な小道具を得るために私を助けている、しかし、私はなぜ知らない、誰かがこの解決策を説明することができ

乾杯

関連する問題