Я использую гем React Rails для рендеринга серверной части моего приложения реакции. Когда я отключаю prerender, он работает нормально. Но когда я включаю prerender, я получаю следующую ошибку:

Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined 

Вот мой client.js

 import ApolloClient from 'apollo-boost'; import { typeDefs } from './resolvers'; export const client = new ApolloClient({ clientState: { typeDefs, }, }); 

И вот мой компонент приложения пост-строитель:

 import React from 'react'; import { ApolloProvider } from '@apollo/react-hooks'; import AppContext from '../utilities/appContext'; import { client } from './PostContentBuilder/utils/client' const postContentBuilderApp = (props) ={amp}gt; ( {amp}lt;AppContext.Provider value={{ propsFromRails: props, }} {amp}gt; {amp}lt;ApolloProvider client={client}{amp}gt; {amp}lt;h1{amp}gt;Post{amp}lt;/h1{amp}gt; {amp}lt;/ApolloProvider{amp}gt; {amp}lt;/AppContext.Provider{amp}gt; ); export default postContentBuilderApp; 

И вот как я рендерил этот компонент в моем представлении рельсы:

 {amp}lt;%= react_component("PostContentBuilderApp", post_content_builder_props, {prerender: true}) %{amp}gt; 

Любые идеи относительно того, что может быть причиной этого?

Я понял проблему, я должен был добавить импорт ‘whatwg-fetch’ в файле ввода приложения:

 import 'whatwg-fetch'; import React from 'react'; import { ApolloProvider } from '@apollo/react-hooks'; import AppContext from '../utilities/appContext'; import { client } from './PostContentBuilder/utils/client' const postContentBuilderApp = (props) ={amp}gt; ( {amp}lt;AppContext.Provider value={{ propsFromRails: props, }} {amp}gt; {amp}lt;ApolloProvider client={client}{amp}gt; {amp}lt;h1{amp}gt;Post{amp}lt;/h1{amp}gt; {amp}lt;/ApolloProvider{amp}gt; {amp}lt;/AppContext.Provider{amp}gt; ); export default postContentBuilderApp;