Компонент React кратко отображает неверные данные - PullRequest
0 голосов
/ 21 апреля 2019

У меня есть компонент Profile, который проверяет, передал ли пользователь в параметрах url. Если нет, компонент Profile будет отображаться с использованием текущего вошедшего в систему пользователя. Если это так, он извлечет это значение и использует этот идентификатор пользователя для формы профиля.

Все оказывает. И в конечном итоге появляются правильные профили, однако, если пользователь переходит к другому идентификатору пользователя для просмотра, форма сначала отображает свой собственный профиль ... ПОТОМ отображает переданного пользователя.

Я довольно уверен, что проблема в том, что реквизит не был установлен во время первого рендера. Мой вопрос, как я могу предотвратить это?

Я использую реагирующий маршрутизатор 4.0. Я настраиваю родительский дочерний компонент, пытаясь выполнить условный рендеринг ... кажется, ничто не помогает.

Моя родительская функция рендеринга выглядит так:

{this.props.match.params.userId && (
  <ProfileForm
    key={this.props.match.params.userId}
    profileId={this.props.match.params.userId}
  />
)}
{!this.props.match.params.userId && <ProfileForm />}

Мое утверждение маршрута таково:

<Route exact={true} path={routes.PROFILE} component={Profile} />
<Route path={`${routes.PROFILE}/:userId`} component={Profile} />          

Есть ли способ предотвратить загрузку «непропорциональной» версии в первую очередь или мне нужно создать новый компонент для «других» и сначала проложить маршрут?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...