Создание состояний c в Reactjs - PullRequest
0 голосов
/ 15 апреля 2020

Я использую ReactJS. У меня есть файл global. js, содержащий все глобальные настройки (Colors, Font и др. c). Его код выглядит примерно так:

import React from 'react';

export default class GlobalVariables extends React.Component{     
  static variable1 = value1;
  static variable2 = value2;
  //And so on...  
};

В моих компонентах я использую их следующим образом

import GlobalVariables from 'filePath/GlobalVariables.js';

//And somewhere inside the component, the value is assigned as:
myComponentValue = GlobalVariables.variable1;

Проблема начинается, когда мне нужно изменить эти значения (например, допустим, что я нужно применить тематику и решить изменить параметры цвета).

Я изменил значения в компоненте, используя

GlobalVariables.variable1 = newValue;

Поскольку эти переменные не являются состояниями, компоненты не перерисовываются, пока страница не будет обновлена. Кроме того, некоторые компоненты, которые загружаются позже, принимают новое значение, при этом страница выглядит беспорядочно.

Я пытался использовать состояния, но каждый экземпляр класса может иметь разные состояния. Таким образом, изменение состояния в одном случае не повлияет на другие.

Я ищу что-то stati c (так как оно импортируется несколькими родительскими компонентами), а также наличие состояния (чтобы изменения принять немедленный эффект)

...