나는 express-graphql로 간단한 graphql 서버를 만들 수 있었다. 쿼리에 대한 http://localhost:8080/graphql
에서apollo로 데이터를 가져 와서 네이티브로 반응하는 방법
:
{
"data": {
"grocers": [
{
"_id": "58567074987ed341fed7fcb1",
"name": "Martina",
"description": "Las mejores verduras de la alpujarra",
"location": "Ugíjar"
},
{
"_id": "585676ef987ed341fed7fdd2",
"name": "Antonio",
"description": "Leña y calorcito para todos!",
"location": "Ugíjar"
}
],
"products": [
{
"name": "Concierto de guitarra"
}
]
}
}
지금까지 너무 좋은 :
{
grocers {
_id
name
description
location
},
products(grocerId: "585676ef987ed341fed7fdd2") {
name
}
}
나는 다음과 같은 얻을. 이제 React Native에서 쿼리하고 싶습니다. 나는 Apollo 클라이언트와 그렇게하려고 노력해 왔습니다. 당분간, 나는 그들의 문서에서 설명한 바닐라 방법으로 질의 할 수 있었고 올바른 결과를 얻었다.
하지만 여기서는 설명 된대로 반응하는 아폴로 도구로 처리하는 데 어려움을 겪고 있습니다. http://dev.apollodata.com/react/ 나는, 나 또한 그래서 기본적으로 내가 상당히 잃었어요 기본 및 GraphQl을 반응 새로 온 정확히 아폴로 작품 모르는 ...
// ...
const networkInterface = createNetworkInterface({ uri: 'http://localhost:8080/graphql' });
const client = new ApolloClient({
networkInterface
});
class Alpuzon extends Component {
constructor() {
super(...arguments);
}
_renderScene(route, navigator) {
if (route.id === 1) {
return <AlpuzonPage navigator={navigator} />
} else if (route.id === 2) {
return <PageTwo navigator={navigator} />
}
return false;
}
_configureScene() {
return Navigator.SceneConfigs.FloatFromRight;
}
render() {
return (
<ApolloProvider client={client}>
<Navigator
initialRoute={{ id: 1 }}
renderScene={this._renderScene}
configureScene={this._configureScene}
/>
</ApolloProvider>
);
}
}
// ...
let AlpuzonPage = React.createClass({
_handlePress() {
this.props.navigator.push({id: 2});
},
render() {
const getGrocersQuery = gql`query getGrocersQuery { grocers { name } }`;
class GrocerListView extends Component {
render() {
<ListView
dataSource={data.grocers}
renderRow={(obj) => <Text>{obj.name}</Text>}
/>
}
}
GrocerListView.propTypes = {
data: PropTypes.shape({
loading: PropTypes.array.isRequired,
grocers: PropTypes.array
}).isRequired
};
const GrocerListViewWithData = graphql(getGrocersQuery)(GrocerListView);
return (
<View style={{ flex: 1, flexDirection: 'column'}}>
<GrocerListView />
</View>
);
}
});
: 여기에 코드입니다. 문서는 많은 나에게 도움이되지 않습니다 : 당신은 GrocerListViewWithData
를 정의하지만 AlpuzonPage
에 GrocerListView
를 사용하는/
어제 제가 t에서 알아 냈습니다. 그는 끝납니다. 어쨌든 고마워. 네 말이 맞아. 문서화 된 점은 apollo가 다양한 방법으로 작업을 수행 할 수 있지만 문서가 항상 모든 것을 표시하지는 않는다는 것입니다. – R01010010