да, вы можете, вы можете использовать библиотеку react-router-dom
, просто сделайте пряжу, добавьте реагирующий маршрутизатор-дом и создайте маршрут. js файл и выполните следующие действия:
import React from "react";
import { BrowserRouter as Router, Switch, Route } from "react-router-dom";
import someScreen from "../somewhere" // this would be your Screen that you wanna show
const Routes = () => {
return (
<Router>
<Switch>
<Route path="/container/language/:language" component={someScreen} />
</Switch>
</Router>
);
};
export default Routes;
после этого вы должны исправить ваше приложение. js файл как следующий
import React from 'react';
import './App.css';
import Routes from './router '; //the location of your router
function App() {
return (
<div className="App">
<header className="App-header">
<Routes/>
</header>
</div>
);
}
export default App;
go для вашего компонента и выполните export default withRouter(someScreen)
На вашем экране Поскольку у вас теперь есть подключенный класс (к маршрутизации), вы можете получить доступ match внутри ваших реквизитов, этот реквизит создается по реакции-маршрутизатору и содержит информацию о том, что совпало на этом маршруте: например, match.params.language будет содержать: язык из маршрута, то есть если у вас есть / german + глаголы
и теперь вы можете использовать URL-адрес как http://localhost: 3000 / container / language / german + verbs , а затем German + verbs
ваши параметры будут переданы вашему компоненту как как
match.params = {
language: 'language+verbs'
}
используйте это в вашем compDidMount
методе