Law*_*nce 6 reactjs graphql react-apollo
const allTeamApplicants = gql`
query ($id: ID!) {
allApplicants(filter: { user: { id: $id } }) {
id
firstName
lastName
appliedPosition
applicationStage
isFormFilled
isContractSigned
email
phoneNumber
}
Run Code Online (Sandbox Code Playgroud)
我在React Web应用程序中使用Apollo Client for GraphQL.任何人都知道如何使用事件中的参数调用查询,例如,我想在用户单击按钮时使用参数触发查询.
要在事件中调用查询,而不是在更高阶的组件中调用查询,您应该:
导入withApollo Hoc
import { withApollo } from 'react-apollo';
Run Code Online (Sandbox Code Playgroud)
用你的组件包裹 withApollo
const component = withApollo(Component)
Run Code Online (Sandbox Code Playgroud)
在组件内部,您将收到一个名为的新道具client,您可以将其用作承诺,例如:
function eventHandler(idParam) {
client.query({
query: gql`
query ($id: ID!) {
allApplicants(filter: { user: { id: $id } }) {
id
firstName
lastName
appliedPosition
applicationStage
isFormFilled
isContractSigned
email
phoneNumber
}
}`,
variables: {
// set the variables defined in the query, in this case: query($id: ID!)
id: idParam
}
}
})
.then(...)
.catch(...)
}
Run Code Online (Sandbox Code Playgroud)
更多信息:https://www.apollographql.com/docs/react/api/react-apollo.html#withApollo
| 归档时间: |
|
| 查看次数: |
687 次 |
| 最近记录: |