У меня есть этот интерфейс реквизита:
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()
, он отображается правильно.
Где проблема?