#reactjs #decorator #create-react-app #mobx #react-app-rewired
#reactjs #декоратор #create-react-app #mobx #react-app-rewired
Вопрос:
Я искал в Интернете и нигде не могу найти упоминания об этой ситуации, хотя это не должно быть редкостью.
Я использовал create-react-app
(версию 3.4.x) с react-app-rewired
[в первую очередь для того, чтобы включить поддержку декоратора (для MobX) без извлечения].
Недавно я попытался перейти cra
на последнюю версию (4.0), следуя инструкциям, выполнив эту команду:
yarn add --exact react-scripts@4.0.0
Однако теперь при запуске моего сервера React я получаю эту ошибку:
yarn start
yarn run v1.22.5
$ HTTPS=true BROWSER=none react-app-rewired start --env=local
Cannot read property 'use' of undefined
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
Если я удалю react-app-rewired
и изменю сценарий запуска обратно на использование react-scripts
, сервер запустится, но у меня больше нет поддержки декоратора.
Вопросы: Поддерживает ли react-app-rewired
поддержка cra
4.0? Существует ли альтернативное решение для включения декораторов без извлечения? Спасибо за любой вклад!
Комментарии:
1. Привет @mjh! Вы нашли решение ошибки запуска сервера?
2. Любые другие обновления по этой проблеме?
Ответ №1:
У меня нет ответа на rewired
вопросы, но в MobX 6 есть новая вещь, которая, вероятно, позволит вам полностью отказаться от декораторов, makeAutoObservable
:
import { makeAutoObservable } from "mobx"
class Store {
// Don't need decorators now
string = 'Test String';
setString = (string) => {
this.string = string;
};
constructor() {
// Just call it here
makeAutoObservable (this);
}
}
Подробнее здесь
https://mobx.js.org/migrating-from-4-or-5.html и https://mobx.js.org/react-integration.html
Комментарии:
1. Спасибо, это полезно и направление, в котором нам, возможно, придется пойти. Я думал, что декораторы были довольно крутыми.