He encontrado un comportamiento extraño de mi aplicación React. Por alguna razón tiene dos almacenes locales. Uno en la IP de la aplicación y otro en el dominio de la aplicación. Sospecho que esto sucede porque configuré el dominio para que sea un subdominio que apunta a una IP específica a través del registro de redirección de URL en la configuración de DNS con http://[IP]/?1=2 . Cuando trato de configurar un elemento de almacenamiento con localStorage.setItem('item', 'value') , la aplicación no lo recoge porque (supongo que este es el caso) usa el segundo almacenamiento mientras que el navegador usa el primero de forma predeterminada . Otro aspecto extraño de esto es que cuando la aplicación hace window.history.pushState(null, 'title', '?name=val') , no tiene ningún efecto, mientras que si hago lo mismo desde la consola del navegador, funciona bien - La URL se actualiza. Todo funciona bien en localhost: solo hay un almacenamiento y window.history hace lo que se supone que debe hacer.
¿Cómo puedo arreglar esto? ¿Probablemente alguna configuración de npm start ? Intenté configurar start: "PORT=80 HOST=subdomain.domain.com react-scripts start" en package.json , pero la aplicación no lo inicia en este caso.
Cualquier idea es bienvenida. Gracias.
Los navegadores asignan almacenes de almacenamiento local por origen .
http://[IP] y http://subdomain.domain.com son orígenes diferentes, por lo que tiene dos tiendas.
El navegador no tiene forma de saber que lo que ve como sitios web idénticos en diferentes orígenes es el mismo sitio.
Elija un origen para que sea el que realmente está utilizando.
Configure las otras URL para redirigir a la que ha elegido.
No use el servidor de desarrollo de React en producción. Cree la aplicación y luego impleméntela .