Я пытаюсь заставить мой React Router изменить мой фактический URL.Сейчас он меняет компонент, но не меняет фактический URL в моем браузере
Вот мой app.js
import React, { Component } from 'react';
import './App.css';
import { BrowserRouter, Route, Redirect, Switch} from 'react-router-dom';
import PaintingList from './paintings/PaintingList';
import PaintingDetail from './paintings/PaintingDetail';
import PaintingCreate from './paintings/PaintingCreate';
class App extends Component {
render() {
return (
<BrowserRouter>
<Switch>
<Route exact path='/' component={PaintingList}/>
<Route path='/paintings' component={PaintingList}/>
<Route path='/paintings/create' component={PaintingCreate}/>
<Route path='/detailed-view/:slug' component={PaintingDetail}/>
</Switch>
</BrowserRouter>
);
}
}
export default App;
Я пытаюсь сделать PaintingDetail компонент указывает на путь / подробный вид /: slug , но мой реальный браузер продолжает отображать http://127.0.0.1:8000/paintings/sad-man (в данном случае это печальный человек)
Я даже пытался удалить эту строку все вместе
<Route path='/detailed-view/:slug' component={PaintingDetail}/>
Компонент все еще работает, но браузер по-прежнему отображает http://127.0.0.1:8000/paintings/sad-man
Я использую Django для моего бэкэнда, яя не уверен, имеет ли это какое-либо отношение к этому.
Вот мой url.py для моей модели картин
from django.urls import path, re_path
from .views import (
PaintingDetailAPIView,
PaintingListCreateAPIView,
)
app_name = 'paintings-api'
urlpatterns = [
path('', PaintingListCreateAPIView.as_view(), name='list-create'),
re_path(r'^(?P<slug>[\w-]+)/$', PaintingDetailAPIView.as_view(), name='detail'),
]
вот мой urls.py в моей домашней папке Django:
urlpatterns = [
path('', TemplateView.as_view(template_name='react.html')),
re_path(r'^paintings', TemplateView.as_view(template_name='react.html')),
path('admin/', admin.site.urls),
path('api/paintings/', include('paintings.urls'))
Заранее большое спасибо!