{这是继电器现代}继电器现代的分段数据为空
在我UserQuery.js,
class UserQuery extends Component {
render() {
return (
<QueryRenderer
environment={environment}
query={GetAllUsers}
render={({err, props}) => {
if(props){
return <UserList />
}
return <Text>Loading...</Text>
}
}/>
)
}
}
export default UserQuery;
因此,这是该QueryRenderer被称为UserQuery的根源。现在,用户列表组件..
class UserList extends Component {
render() {
const users = this.props.users
return (
<View>
{this.renderUsers(users)}
</View>
)
}
renderUsers(users) {
if(!users) {
return <Text>No Users</Text>
}
return users.edges.map(user=>{
return <UserItem user={user}/>
})
}
}
module.exports = createFragmentContainer(
UserList,
graphql`
fragment userList_users on userEdges {
node {
...userItem_user
}
}
`
)
用户列表片段包含了孩子的信息userItem即
class UserItem extends React.Component {
render() {
const user = this.props.user;
return (
<View>
<Text>{user}</Text>
</View>
)
}
}
module.exports = createFragmentContainer(
UserItem,
graphql`
fragment userItem_user on User {
username
}
`
)
在用户列表CONSOLE.LOG(this.props.users)时的问题是,它返回Null 。而片段userList = {}
但是,当我通过从UserQuery组件传递this.props.users而不使用碎片来做到这一点,它工作正常。
如果任何人都可以用更好的例子来阐述createFragmentContainer,那将会很棒。谢谢..
我有完全相同的问题并卡住。找到解决方案? –