[英]React / Apollo client: try to use LazyQuery in useEffect hook
I try to run a test query after my component has rendered.在我的组件呈现后,我尝试运行测试查询。 Bellow my code.
咆哮我的代码。
The testQuery function executed in the useEffect don't do anything.在 useEffect 中执行的 testQuery function 不执行任何操作。 I dunno why... any idea?
我不知道为什么......有什么想法吗?
const Card2 = (props) => {
const [count, setCount] = useState(0);
console.log (`count :: ${count}`);
const [testQuery,{ loading, data}] = useLazyQuery (TEST_QUERY);
if(loading) debugger;
useEffect(() => {
console.log('useEffect');
testQuery();
debugger;
},[count]);
return(
<div className={classes.Content} >
<button className={classes.Price} onClick = {() => setCount(count + 1)}>
</button>
</div>
);
};
const Card2 = (props) => {
const [count, setCount] = useState(0);
const [fetchedData, setFetechedData] = useState([])
console.log (`count :: ${count}`);
const [testQuery,{ loading, data}] = useLazyQuery (TEST_QUERY);
if(loading) debugger;
useEffect(() => {
console.log('useEffect');
testQuery();
debugger;
},[count]);
useEffect(() => {
data && setFetechedData([...fetchedData, data])
},[data]);
return(
<div className={classes.Content} >
<button className={classes.Price} onClick = {() => setCount(count + 1)}>
</button>
</div>
);
};
You have to handle the response from the query in some way.You could add another useEffect to listen for changes.您必须以某种方式处理来自查询的响应。您可以添加另一个 useEffect 来监听更改。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.