Я думаю, что вы должны импортировать оба тестовых / производственных значения и сохранить их в компоненте root как состояние. И передайте их дочерним компонентам через механизм React Context .
Вот небольшой пример.
ConfigContext.js
export default React.createContext();
App.jsx
...
import { devConfig, prodConfig } from './config';
import Component from './Component';
import ConfigContext from './ConfigContext';
const App = () => {
const [currentConfig, setCurrentConfig] = React.useState(devContext);
// when you need to change the config dynamically
setCurrentConfig(prodConfig);
// pass the state value to the context provider
return (
<ConfigContext.Provider value={currentConfig}>
<Component />
</ConfigContext.Provider>
);
}
и в компонентах, использующих конфигурацию:
Component.jsx
import ConfigContext from './ConfigContext';
const Component = () => {
// obtain current 'autoupdating' config value
const config = React.useContext(ConfigContext);
// use config values somehow
return ( ... );
}
Таким образом, при изменении компонента root (* 1021) *) состояние, изменение будет автоматически распространено на дочерние компоненты, которые используют контекст.