Не уверен что название вопроса передаёт его суть, но всё же, я в качестве изучения и тренировки разрабатываю что-то вроде твиттера или фейсбука, и сейчас столкнулся с такой проблемой, как мне создать для каждого пользователя свою страничку? На подобие адресации вконтакте, /id1, /id2. Я изначально планировал при регистрации давать каждой странице последовательный ID и вести общий учёт страниц, а в момент рендера домашней страницы приложения получать общее чисто страниц в переменную и через map() возвращать для каждой из них элемент Route с адресом 'id' + текущий номер. А потом при переходе на страницу загружать уже какие-то пользовательские данные согласно номеру из адреса. Но у меня не получилось, были ошибки. В общем интересно, какой вообще подходит стоит использовать для такой задачи, и на сколько я идейно был близок к верному решению.
edward_freedom, да, я изучил основы реакта, и смотрел примеры, но это в основном были SPA, я без проблем делаю приложения на несколько статичных страниц, вроде init/home/main, а сейчас пытаюсь сделать упрощённую версию социальной сети, где у каждого пользователя есть ссылка на личную информацию
Дмитрий, они не пустые, подразумевается что для каждого из пользователей в момент регистрации отводиться ID, и по этому ID в URL будет доступна его страница, но как это динамически добавить в router я не понимаю, вложить туда коллекцию компонентов у меня не получилось
Раз клиентское приложение у вас то стоит подумать про внешнюю базу, например, Firebase. Идентификаторы пользователям генерируйте в виде UUID4, чего вам с запасом хватит на эту жизнь
Не соглашусь с предыдущим оратором, если вы хотите использовать id пользователя в URL то будет лучше смотреться целочисленное положительное число, а не UUID.
1) когда я ищу пользователя в базе что бы что то там для себя посмотреть или поправить, мне проще набрать "Id" = 12345 чем "Id" = '509fb47b-de25-47c5-841c-582a889a388a', и запомнить тоже.
2) опять таки на мой взгляд url вида mysite.com/12345/user смотрится элегантнее чем mysite.com/509fb47b-de25-47c5-841c-582a889a388a/user
Василий, и эти оба примера абсолютно субъективны. В нормальных условиях отладка происходит совсем не так и в базу ручками давно уже адекватные люди не лезут, тем более не проде. Что до второго - сегодня подавляющее число пользователей сидит с мобильных устройств что самом по себе как-то отрезает необходимость наблюдать эту картину.
Что за uuid то он генерируется уникально и не содержит проблем с корреляцией auto_increment, который без механизм баз данных поддерживать очень сложно. Из минусов - большая длина ключа, но для небольших проектов это не важно, а для больших открывает широкие возможности для масштабирования
Иван Шумов,
1) по поводу не лезут ручками в базу, вы видимо не работали в корпоративном секторе, тут приходится лезть в базу и не по одному разу за день.
2) На мобилках допустим +50% но это не повод делать из URL уродство
3) Если использовать относительное современные БД то проблем с auto_increment быть не должно, но до этого надо дорасти что бы появились проблемы это как минимум несколько ведущих нод, а вы как вы понимаете не гугл...
У меня не совсем в этом вопрос, как мне создать для каждого пользователя по странице доступной через Route? Как создать коллекцию страниц пользователей?
Иван Шумов, как мне хотя-бы поисковый запрос правильно сформулировать? Это multiple-page application? В документации не получалось найти, но попробую ещё раз