Как записать в state данные которые получил через дополнительные параметры в url?

У меня есть ссылка: localhost:3003/calendar?month=2019-08&day=21&time=10:00:00
Я хочу данные month записать в state(но позже я буду использовать и другие данные: day, time). Как мне это лучше сделать и правильно ли так данные передавать в state?

Суть: пользователь получает ссылку на email и когда переходит по ей, то ему отобразится календарь с нужным месяцем и остальными данными. Эти данные мне нужны что бы понять что отобразить пользователю.

Я думаю вытянуть эти данные через location.search

state = {
    currentMonth: null;  // currentMonth: 2019-08
}
  • Вопрос задан
  • 127 просмотров
Решения вопроса 1
hzzzzl
@hzzzzl
url = new URL('localhost:3003/calendar?month=2019-08&day=21&time=10:00:00')

params = [...url.searchParams.entries()].reduce((acc, val) => {
	acc[val[0]] = val[1];
	return acc
}, {})

// {month: "2019-08", day: "21", time: "10:00:00"}


но я не думаю, что в стейте следует дублировать пропсы
(пропсы потом изменятся, и надо будет вручную менять стейт)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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