javascript - 使用 useState 存储来自 useQuery 的数据

标签 javascript reactjs graphql react-hooks react-apollo

我正在使用 React 钩子(Hook)来获取带有 react-apollo 的 GraphQL 数据并存储本地状态:

const [userData, setUserData] = useState({})
const { loading, error, data } = useQuery(USER_QUERY)

但是,我想知道如何存储 datauserData .这是它应该如何工作的:
useEffect(() => {
  setUserData(data)
}, [Object.entries(data).length])

最佳答案

看起来你所拥有的可能有效。还有一个onCompleted options 中提供的选项范围。它需要一个回调类型:

(data: TData | {}) => void

所以这是另一种方法:
const { loading, error, data } = useQuery(USER_QUERY, {onCompleted: setUserData})

关于javascript - 使用 useState 存储来自 useQuery 的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57577102/

相关文章:

javascript - Lodash orderBy 函数如何处理重音字符?

javascript - 将数据从回调传递到 React 组件?

graphql - Android apollo 订阅不起作用?

javascript - Chrome : Zoom is not working in child tab

Javascript 通过加法编辑输入值

javascript - 更改 firebase.database 内的变量

javascript - ReactJS Component.render() 函数的适当返回类型是什么?

javascript - 使用 Sequelize 在 GraphQL 查询中将日期时间字段输出为字符串

graphql - 是否可以从 Relay 突变访问 GraphQL 验证错误?

javascript - 使用HTML5 History时如何处理页面刷新?