Вместо этого сделайте это в своей функции selectTiming
:
selectTiming = () => {
// set the loading to true first and setting it to false afterwards.
this.setState({ isLoading: true });
const newItems = [...this.props.props];
this.setState({ options: newItems, isLoading: false });
}
Вы назначаете this.state.options.push(...this.props.props)
, что теоретически возвращает ТОЛЬКО длину массива после того, как элемент был помещен в массив.
Это пример кода того, что вы сделали:
const arr = [1,2,3,4]
console.log(arr) // [1,2,3,4]
const anotherArr = []
const newArr = anotherArr.push(arr) // assigning it to newArr will only return the length
// of the array after it was pushed.
console.log(newArr) // 4
Итак, лучшим подходом было бы присвоение setItems фактического значения this.props.props
вместо непосредственного изменения фактического состояния, которое это ПЛОХАЯ практика. Кроме того, аргумент props
не нужен, поскольку свойства уже доступны локально в вашем компоненте.