как javascript назначить эталонное значение? - PullRequest
0 голосов
/ 24 января 2020

Я учусь реагировать, и я использовал библиотеку react-router-dom для изменения маршрутов проекта. Поэтому я добавил из библиотеки и добавил историю. И добавил createBrowserHistory из npm пакета history.

<Router history={createBrowserHistory()}>

Но он не менял маршруты и генерировал предупреждение.

You cannot change <Router history>

затем я изменил его на и затем передается в Router

const history = createBrowserHistory()
<Router history={history}>

Передача истории браузера в переменную сработала. Почему это случилось? Это какая-то концепция Javascript?

1 Ответ

0 голосов
/ 24 января 2020

Я не уверен, но я думаю, что основная проблема здесь может быть связана с областью действия переменной. Когда вы создаете объект внутри jsx, он будет храниться внутри компонента Router, и, возможно, для реагирования необходимо, чтобы он был доступен за его пределами. (Например, когда реагирующий на изменения в истории знает, что он должен повторно отобразить компонент)

Но в любом случае, если вы новичок, вам не нужно использовать компонент Router, проверьте BrowserRouter https://reacttraining.com/react-router/web/api/Route

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...