#reactjs #mapping #connect
#reactjs #сопоставление #Контакты
Вопрос:
как мне подключить пользователя к их публикации? в публикации указан идентификатор пользователя, который опубликовал отзыв, но как мне сопоставить записи?
это моя карта сообщений
{post.map(post => (
<Post key={post.id} post={post} />
))}
fname и адрес принадлежат пользователю, post — из списка сообщений
и файл post:
{fname}
{address}
{post}
итак, у меня есть список записей и списки пользователей, они разделены
но у публикации есть идентификатор пользователя, который ее опубликовал, но как мне их подключить?
отображение через post и когда идентификатор пользователя от пользователя эквивалентен идентификатору пользователя из post, фильтруйте его или что-то в этом роде?
как мне подключить их через это отношение?
что-то, к чему я стремлюсь, но это выдает ошибку user.post не определено
{post.map(post => (
<Post
key={post.id}
food={post}
user={user.filter(
user =>
user.post.userid)}
/>
))}
Ответ №1:
Когда я установил значение для пользователя в теге post, как показано ниже, у меня это сработало.
<Post
key={post.id}
food={post}
user={users.find(
user =>
post.userid === user.id //if you have an users array here you should use find instead of filter and then try to match the post.userid with user.id.
)}
/>
Ответ №2:
поскольку у post есть userid
и у пользователя есть id
, вы можете решить это чем-то вроде этого:
{post.map((post) => (
<Post
key={post.id}
food={post}
user={user.find((u) => u.id === post.userid)}
/>
))}