Как убедиться, что все состояния избыточности загружены до рендеринга компонента реакции?

avatar
Yunis Hawwash
8 апреля 2018 в 07:00
154
1
0

Я использую fk_branch_id пользователя в избыточном хранилище, когда пользователь входит в систему.

И я инициализирую таблицу данных jquery в реагирующем компонентеDidMount. и при инициализации данных я отправляю fk_branch_id с заголовками ajax

beforeSend: (request) => {
  let branchId = _.isEmpty(this.props.active_branch)?null:this.props.active_branch.branch_id;
  request.setRequestHeader("fk_branch_id", branchId);
},

но когда ajax отправляется, fk_branch_id имеет значение null, потому что fk_branch_id из состояния redux еще не загружен, поэтому есть ли способ гарантировать, что состояния полностью загружены до вызова componentDidMount

Источник
Shobhit Chittora
8 апреля 2018 в 08:09
0

Пожалуйста, предоставьте больше примеров кода. Как вы монтируете редукторы? Какова иерархия компонентов?

Ответы (1)

avatar
timotgl
8 апреля 2018 в 08:46
0

Это необходимо сделать в componentWillReceiveProps или новом getDerivedStateFromProps, если значение еще недоступно сразу после монтирования. Обнаружьте, что fk_branch_id только что изменилось с ложного на истинное:

if (!this.props.fk_branch_id && nextProps.fk_branch_id) {
    // send request with nextProps.fk_branch_id
}