ответная-роутер-дом подсказка не показывает - PullRequest
0 голосов
/ 26 апреля 2020

У меня есть React Route со значительным пользовательским вводом, с которым я хочу использовать компонент Prompt. Я импортирую его из response-router-dom без ошибок и добавляю компонент в метод рендеринга компонента класса, но, несмотря ни на что, предупреждение о приглашении никогда не появляется, и пользователь может свободно перемещаться со страницы, не видя никакого предупреждения .

Я пробовал:

  • Помещение компонента с помощью когда = {aStateBooleanVariable}, а также когда = {true} и вообще без атрибута when.
  • Использование функции для сообщения.
  • Гарантирование того, что Маршрут, на котором он находится, является точным путем.
  • Импортирование его из реакции-маршрутизатора вместо реакции-маршрутизатора-dom.
  • Перемещение компонента в методе рендеринга.
  • Перемещение подсказки в сам оператор Switch в компоненте App, который оборачивает все в BrowserRouter.

Ничего из того, что я пробовал получил приглашение на самом деле показать или запретить пользователю переходить со страницы, и я не смог найти что-либо в документах или расширенном поиске где-либо У кого-то еще была эта проблема. Кто-нибудь имеет какие-либо идеи, почему это просто даже не начинает работать?

Я не совсем уверен, какой код поставить, поскольку все это в значительной степени шаблонный response-router-dom.

Это мой оператор switch.jsx:

return (
        <BrowserRouter>
            <header>
                {loggedInUser ? <NavbarComp loggedInUser={loggedInUser} setLoggedInUser={setLoggedInUser} /> : null}
            </header>
            <Switch>
                <PrivateRoute path="/ged/campaigns/new" component={CampaignNew} loggedInUser={loggedInUser} />} />
                <PrivateRoute path="/ged/campaigns/:id" component={Campaign} loggedInUser={loggedInUser} />} />
                <PrivateRoute path="/ged/characters/new" component={CharGen} loggedInUser={loggedInUser} />} />
                <PrivateRoute path="/ged/characters/:id" component={CharacterMain} loggedInUser={loggedInUser} />} />
                <PrivateRoute path="/ged" component={GEDHome} loggedInUser={loggedInUser} />} />
                <Route path="/" component={Home} loggedInUser={loggedInUser} setLoggedInUser={setLoggedInUser} />} />
                <Route component={DeadPage} />
            </Switch>
        </BrowserRouter>
    )

Я импортирую компонент следующим образом:

import {Prompt} from 'react-router-dom';

И включаю компонент в верхней части его метод визуализации родителя return:

<Prompt message="You have changes that will be lost if you leave without saving." />

Какой другой код может заставить его работать молча, как это?

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