- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在我的 React 应用程序的 index.js
中有以下 ApolloProvider
设置。连接到 Apollo 服务器工作正常。
import { React } from 'react';
import * as ReactDOM from 'react-dom/client';
import { ApolloClient, InMemoryCache, ApolloProvider } from '@apollo/client';
import App from './App';
import { createHttpLink } from 'apollo-link-http';
const httpLink = createHttpLink({
uri: 'http://localhost:5002'
})
const client = new ApolloClient({
link: httpLink,
cache: new InMemoryCache()
})
export default (
<ApolloProvider client = { client } >
<App/>
</ApolloProvider>
)
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
<ApolloProvider client={client}>
<App />
</ApolloProvider>,
);
现在我需要解耦它,我尝试在 ApolloProvider.js
中引入一个名为 ApolloProvider
的新组件:
import React from "react";
import App from "./App";
import { createHttpLink } from 'apollo-link-http';
import { ApolloClient, InMemoryCache, ApolloProvider } from '@apollo/client';
const httpLink = createHttpLink({
uri: 'http://localhost:5002'
})
const client = new ApolloClient({
link: httpLink,
cache: new InMemoryCache()
})
export default (
<ApolloProvider client = { client } >
<App/>
</ApolloProvider>
)
然后我尝试在 index.js
中呈现如下内容:
import ReactDOM from 'react-dom';
import ApolloProvider from './ApolloProvider';
ReactDOM.render(ApolloProvider, document.getElementById('root'));
但是这里我得到了以下错误
ReactDOM.render is no longer supported in React 18. Use createRoot instead.
我用 createRoot
尝试了一些语法仍然没有明确的路径。
最佳答案
在安装 React v18
时,您似乎正在使用用于为 React v17
呈现应用程序的语法。您有两种选择可以使该警告消失:
index.js
以便您使用 React v18
的设置:import React from "react";
import ReactDOM from "react-dom/client";
import ApolloProvider from './ApolloProvider';
const root = ReactDOM.createRoot(document.getElementById("root"));
// if you are rendering App as a normal component use this line:
// root.render(<React.StrictMode><App/></React.StrictMode>);
// the below line is specific to how the question is made:
root.render(<React.StrictMode>{ApolloProvider}</React.StrictMode>)
package.json
中的内容,然后运行 npm i
和 npm start
:"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-scripts": "5.0.0",
关于javascript - 单独的 ApolloProvider 组件渲染与 ReactDOM 给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72919077/
我在我的 React 应用程序的 index.js 中有以下 ApolloProvider 设置。连接到 Apollo 服务器工作正常。 import { React } from 'react';
我已经使用 GraphQL 设置了我的 React Native 应用程序。一旦我开始新的项目并使用 react native 遵循 graphql 的设置,我就会收到此错误。 ApolloProvi
在 react(nextjs) 应用程序中,我使用 statsig-react 来切换 mastergraphql 端点(urls)。现在我在将 statsig 与 apollo 连接时遇到问题。 我
因此,我有一个使用apollo-graphql的应用程序,其中某些解析程序仅对经过身份验证的用户可用,如果未经身份验证的用户尝试访问它们,它们将返回401。我知道那里没有开创性的东西。 但是,我试图拦
我正在使用 Meteor 的 Apollo客户端连同wix/react-native-navigation我想知道是否可以将 Navigation.startSingleScreenApp 创建的根组
嘿嘿伙计们, 我对 typescript 比较陌生,我希望我不会在这里忽略一些明显的东西。 :) 我正在尝试将 Apollo 添加到 Typescript 项目,以便能够使用来自 GraphQL AP
我是一名优秀的程序员,十分优秀!