Реакция - Как я могу позволить посетителям использовать инструменты реакции разработчиков, но не могу редактировать состояния и реквизиты - PullRequest
0 голосов
/ 14 апреля 2020

Я работал над приложением реагирования и думал, что средства реагирования разработчика доступны только в версии приложения, но я был удивлен, что могу использовать его в производственной версии, даже могу изменять маршруты и состояния и другие вещи. И я не хочу полностью отключать инструменты реакции разработчика из приложения (добавив скрипт в индекс. html для его выгрузки). Так что я хочу отключить редактирование в инструментах реагирования разработчика, как на Facebook (вы можете открыть инструменты реагирования там, но не можете редактировать любую опору или состояние, что круто). Так есть ли хороший способ сделать это? без отключения целых инструментов реакции разработчиков?

1 Ответ

1 голос
/ 14 апреля 2020

Вы не можете и не должны. Инструменты разработчика предназначены для разработки в целях разработки, поэтому зачем кому-то делать это доступным в рабочей среде.

Ваш единственный вариант - полностью удалить devtools с помощью этого кода:

<script>
window.__REACT_DEVTOOLS_GLOBAL_HOOK__.inject = function () {}
</script>

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

#{process.env.NODE_ENV == 'production' ? "window.__REACT_DEVTOOLS_GLOBAL_HOOK__.inject = function(){}" : ""}

В любом случае, было бы все еще хорошей практикой помещать бизнес-логику c и чувствительный данные обратно на ваш сервер.

...