slorber / gatsby-plugin-react-native-web

react-native-web plugin for Gatsby
https://sebastienlorber.com/using-expo-in-gatsby
MIT License
277 stars 30 forks source link

Cannot read property 'map' of undefined in production #34

Open codypearce opened 4 years ago

codypearce commented 4 years ago

I installed the packages in the README and added gatsby-plugin-react-native-web to gatsbyjs-config. Everything works fine in development, but building the site and serving it in production causes the error below:

Codinhood | Codinhood 2020-05-12 07-11-24
"react": "^16.12.0",
"react-dom": "^16.12.0",
"react-native": "^0.62.2",
"react-native-web": "^0.11.7",
"expo": "^37.0.10",
"gatsby": "^2.18.12",
"gatsby-plugin-react-native-web": "^3.1.0",

If I remove the plugin from the config then the issue goes away. I've used V2.0.0 on other Gatsbyjs sites, like https://material-bread.org, without running into this issue. Any ideas what might be wrong?

slorber commented 4 years ago

Hi,

That's unfortunate, I'll have to check that.

Is material bread the repo you are trying to upgrade to v3.1? Do you have a PR / branch to check?

The config has changed a lot with v3 as we are using the expo webpack config, which does much more than previous version.

codypearce commented 4 years ago

I did some debugging and found disabling gatsby-plugin-offline allows it to work again. I tried to reproduce this behavior in an example repo but couldn't. Sorry, wish I could provide more info but the project is closed source at the moment.

I also found this issue: https://github.com/gatsbyjs/gatsby/issues/10050, which describes the same problem with babel-preset-expo and babel-plugin-react-native-web.

slorber commented 4 years ago

Thanks

Maybe it's related to service workers or something? Can you try with gatsby-plugin-offline but in a private browsing session?

Also, can you try to add this plugin first in the gatsby plugins list? (order may matter, but I don't think it's related here)

codypearce commented 4 years ago

@slorber I was able to reproduce the problem in a stripped down example repo. https://github.com/codypearce/rnw-gatsbyjs-problem

You should be able to see the problem when building the static site and serving it:

npm i
npm run build
npm run serve
slorber commented 4 years ago

thanks, I'll take a look at it probably this weekend or next week