Реактивный прокси приложения не работает, когда <Route>содержит параметр url - PullRequest
0 голосов
/ 06 ноября 2019

У меня есть приложение создания реакции, говорящее с экспресс-сервером через прокси. Прокси работает, когда я отправляю сообщения из большинства компонентов, но если этот компонент отображается через маршрут, содержащий параметр url, URL-адрес запроса изменяется на что-то, что несуществует и приводит к 404

Конечной точке моего экспресс-сервера (прослушивание порта 5000)

registrationRouter.post('/api/create-account' function (req, res) {

        return res.status(200);

});

Это может быть успешно свернуто

Это вызывается из формы компонента реакциикоторый имеет метод

    handleSubmit = (e) => {
        e.preventDefault();
        const { hash } = this.props.match.params;
     axios.post( api/create-account, {hash:hash});
    };

Маршрут содержит;

<Switch>
        <Route exact path='/' component={Home}/>
     {/*<Route path='/create-account/:hash' component={CreateAccountForm}/>*/} 
request is sent to create-account/api/create-account resulting in 404
        <Route path='/create-account' component={CreateAccountForm}/> 
request is sent to /api/create-account )resulting in 200
        <Route path='/' component={Home}/>
</Switch> 

прокси, определенный в package.json как

  "proxy": "http://localhost:5000",

До добавления прокси это было всеработает нормально (конечно, жесткое кодирование почтовых URL-адресов для localhost: 5000 / api / create-account)

Это началось только после того, как я ввел прокси.

Что я делаю не так? спасибо

1 Ответ

0 голосов
/ 07 ноября 2019

Просто сам разобрался.

Ответ был здесь

Как исправить неправильное перенаправление прокси из подпути из React.js с помощью React Router? .

Мне нужно было добавить косую черту в мой пост-запрос

 handleSubmit = (e) => {
        e.preventDefault();
        const { hash } = this.props.match.params;
     axios.post( api/create-account, {hash:hash});
    };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...