将 react-native 添加到 monorepo 后,React apollo hooks 失败
Posted
技术标签:
【中文标题】将 react-native 添加到 monorepo 后,React apollo hooks 失败【英文标题】:React apollo hooks fails after adding react-native to monorepo 【发布时间】:2020-05-05 11:10:58 【问题描述】:我正在尝试使用 yarn 工作区创建一个带有 monorepo 的 React Web 应用和 React-native 应用。所以我创建了网络和控制器,它工作正常。我能够对我的 apollo-express 服务器进行 graphql 查询。但是,在添加 react-native 应用程序后,我看到了:
我 100% 没有违反任何 react hooks 规则,因为在添加 react-native 应用程序之前它工作正常。
有什么办法可以解决吗?
阿波罗控制器
import useQuery from "@apollo/react-hooks";
import gql from "graphql-tag";
export const useHelloQuery = () => useQuery(
gql`
hello
`
)
反应组件:
function Test()
const data = useHelloQuery();
return (
<Text>awesoe</Text>
);
在添加 react-native 之前是完全一样的
【问题讨论】:
【参考方案1】:您需要更改调用useQuery
的方式,因为这不是使用钩子的正确方式。
您不必担心手动触发 api 调用,useQuery
会为您处理。
import useQuery from "@apollo/react-hooks";
import gql from "graphql-tag";
function Test()
const response = useQuery(
gql`
hello
`)
return (
<Text>awesoe</Text>
);
【讨论】:
以上是关于将 react-native 添加到 monorepo 后,React apollo hooks 失败的主要内容,如果未能解决你的问题,请参考以下文章
将 react-native 添加到 monorepo 后,React apollo hooks 失败
将 react-native-web 添加到现有的 react-native 应用程序时出错