MrGobus
@MrGobus
Иван

Как сделать глобальную переменную в REACT?

Казалось бы простой вопрос, но, мне не везет с нормальным примером. В гуглах все заходят из далека и к моменту когда доходит до дела, судя по всему, забывают про что писали, либо кусок кода настолько велик, что осознать его уже нет ни каких сил =)
Итого, в REACT надо как то организовать глобальную переменную для передачи адреса RestAPI сервера компонентам приложения. Адрес не сложный, "localhost".
И затем, в внутри компоненты хотелось бы использовать эту переменную как то так:
xhr.open("GET", global.restApiHost + `/api/v1.0/items/${first}/${this.state.itemPerPage}`, true)
  • Вопрос задан
  • 4829 просмотров
Решения вопроса 2
aleksand44
@aleksand44
С помощью Webpack:
plugins:[
        new webpack.DefinePlugin({
            GLOBAL_VARIABLE: JSON.stringify('value') 
        }),
]

После сборки модулей она видна во всем приложении
Ответ написан
@davidnum95
В CRA есть переменные окружения: тык
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
// globals/index.js
const restApiHost = 1231313;
export { restApiHost };

// component.js
import { restApiHost } from './globals';
console.log(restApiHost);

Так?
Ответ написан
rockon404
@rockon404 Куратор тега React
Frontend Developer
Хорошим вариантом будет передавать переменные зависимые от окружения в webpack.DefinePlugin:
new webpack.DefinePlugin({
  '__HOST__': JSON.stringify('https://example.com')
});

В коде:
xhr.open("GET", __HOST__ + `/api/v1.0/items/${first}/${this.state.itemPerPage}`, true);
Ответ написан
Xuxicheta
@Xuxicheta
инженер
так же как и в любом скрипте
window.global = {
restApiHost
};
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы