Используйте значение из PropsFromState в конструкторе состояний - PullRequest
0 голосов
/ 07 января 2019

У меня есть этот интерфейс реквизита:

interface OwnProps {
  onHide: () => void;
  show: boolean;
  onSubmit: (props: SetCompanyUploaderFormSchema) => void;
  client: Client;
}

И этот интерфейс PropsFromState:

interface PropsFromState {
  userList: DropDownListItem<string>[];
  userListIds: Array<number>;
}

Который я инициализирую так:

const mapStateToProps = (state: State, props: OwnProps): PropsFromState => ({
  userList: getCompanyTeamListSelector(state),
  userListIds: state.ddls.companyUsers.map(element => Number(element.id))
});

Я пытаюсь установить значение состояния selectedUsersIds на PropsFromState значение userListIds.

Я пытался сделать это в конструкторе:

@connect(mapStateToProps)
export default class EmailModal extends React.Component<OwnProps & Partial<PropsFromDispatch> & Partial<PropsFromState>, OwnState> {
  constructor(propsFromState: PropsFromState, props: OwnProps ) {
    super(props);
    this.state = {
      selectedUserIds: propsFromState.userListIds
    }
  }

Я тоже пытался this.props.userListIds.

В дополнение к этому я попытался установить его с помощью getDerivedStateFromProps и ComponentWillMount. Пока ничего не работает, и this.state.selecteduserIds по-прежнему выглядит как пустой массив.

Однако, когда я печатаю this.props.userListIds в начале render(), он отображается правильно.

Где проблема?

1 Ответ

0 голосов
/ 07 января 2019
Конструктор

(props: propsFromState) {}

А потом звоните супер (реквизит);

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