FBS*_*BSO 2 typescript reactjs apollo-client
我必须运行一个具有强制变量的查询,该变量是另一个查询的结果。由于这样的结果可以是number | undefined,打字稿抱怨说我的变量只能是 anumber但不能 undefined
const { data: firstQueryData } = useQuery(GET_MY_FIRST_QUERY_DATA, {
variables: {
firstVariable: 100
}
})
const myVariable = myQueryData?.getMyQueryData <-- This is "number" | "undefined"
const { data: secondQueryData } = useQuery(GET_MY_SECOND_QUERY_DATA, {
variables: {
secondVariable: myVariable <-- This is "number" | "undefined" while it should only be "number"
}
})
Run Code Online (Sandbox Code Playgroud)
我尝试使用skip但TS仍然抱怨:
const { data: mySecondQuery } = useQuery(GET_MY_SECOND_QUERY_DATA, {
variables: {
secondVariable: myVariable
},
skip: !myVariable
})
Run Code Online (Sandbox Code Playgroud)
小智 9
我遇到了同样的问题,并通过首先检查变量的真实性来解决它,例如:
const { data: mySecondQuery } = useQuery(GET_MY_SECOND_QUERY_DATA,
myVariable
? {
variables: {
secondVariable: myVariable,
},
}
: { skip: true }
);
Run Code Online (Sandbox Code Playgroud)
希望有帮助!
| 归档时间: |
|
| 查看次数: |
1205 次 |
| 最近记录: |