Почему не вводит componentDidUpdate ()? - PullRequest
0 голосов
/ 23 сентября 2019

Здравствуйте, я пытаюсь проверить состояние, которое изменяется в componentDidUpdate, но не входит.

Код

componentDidUpdate (newProps) {
    const { dataSource } = newProps
    // set value for nextButtonDisabled in first results async load
    if (dataSource.length) {
        const newPaginationInfo = Object.assign({}, this.state.paginationInfo)
        newPaginationInfo.nextButtonDisabled = dataSource.length <= this.pageSize
        this.setState({ paginationInfo: newPaginationInfo }) /* eslint-disable-line react/no-did-update-set-state */
    }
}

Состояние

this.state = {
    paginationInfo: {
        currentPage: 0,
        nextButtonDisabled: true
    }
}

И тест

it('should set nextButtonDisabled to false when gets new props.datasource if datasource length <= 20', () => {
    const component = shallow(<VehicleHistoryTable {...makeProps()} />)
    component.setProps({ dataSource: createDataSourceMock(3) })
    expect(component.instance().state.paginationInfo.nextButtonDisabled).toEqual(true)
})

Функция createDataSourceMock() создает массив чисел, в данном случае 3 строки.

Есть предложения?

P: S I 'я пытаюсь перейти на React 17

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