I create a react app using the cli called create-react-app. Look like Facebook did lots of things underneath, such as webpack etc. However, I guess it may also has some limitations. I try to follow this tutorial to load google map api. And when I debug my code, I can see the google map has been successfully referenced..
But then I click play and let application finishes running. I got google is not defined error from webpackHotDevClient.js and my application crashes.
Since webpack compile the files on the fly, I assume it has trouble to load google map via https?
Any thoughts?
6
Answers
As mentioned in the user guide, you need to explicitly read any global variables from
window
. Put this at the top of the file and it will work:The reason we enforce this is because people commonly misunderstand the difference between local variables, imported modules, and global variables, and so we want to always make it clear in the code when you use a global variable.
By the way, this is not related to Webpack or HTTPS. You see this because we use a linting rule that forbids unknown global variables.
I think the google variable is already available when you import google map from script in html. This error caused by Eslint, you can try and add the below line to the top of your file to disable ESlint
Hi you can use
withGoogleMap
like so:I have a better solution then @Dan’s you can do it like this
OR
If
google
is available then no problem if not then empty Object will be temporarily assigned till your scripts are loaded.In case
es-lint
throws undefined google error, update the globals in eslint configuration file:OR
For a specific file use case define like below on the top of the file
.eslintrc.json
OR