@ohio_land

Как передавать стэйт между роутами?

Всех приветствую!
Продолжаю изучать механизмы этой замечательной библиотеки. И тут возник вопрос, сабж. К примеру имеем такой роутер из двух страниц:
class Content extends React.Component {
	render() {
		return (
			<Switch>
				<Route exact path="/" component={Home} />
				<Route path="/sqlshell" component={Contacts} />
			</Switch>
		)
	}
}

И затем переходим на страницу Home, заполняем state какими-либо данными, и после этого при переходе на страницу Contacts мне нужно что бы state тоже передался этому компоненту. Позволю себе предположить что инициализировать стэйт нужно в конструкторе Content-компонента, чтобы он был виден для обоих детей компонентов Home и Contacts, примерно вот так:
class Content extends React.Component {
	constructor(props, context) {
		super(props, context)
		this.state = {
			data1: null,
			data2: null,
		}
	}

	render() {
		return (
			<Switch>
				<Route exact path="/" component={Home} />
				<Route path="/sqlshell" component={Contacts} />
			</Switch>
		)
	}
}


Но тогда как извлекать этот стэйт от страницы к странице? Или может передавать стэйт в качестве props аттрибутов каждому компоненту?
  • Вопрос задан
  • 240 просмотров
Решения вопроса 1
Negwereth
@Negwereth
lvivcss.com.ua
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы