Кажется, что компонент InputMoment
использует не month
проп, а moment
.
Кроме того, похоже, что InputMoment
возвращает тот же экземпляр момента, который был передан как moment
проп. Это приводит к тому, что при выполнении оператора changeMonth
, поскольку ссылка не изменяется, элемент не отображается повторно.
Вы можете решить эту проблему, сохранив объект в состоянии. Когда вы вызываете changeMonth
, вы передаете новый объект, и InputMoment
затем корректно перерисовывается:
const HookComponent = (props)=> {
let [month, changeMonth] = useState({ m: moment() });
return (
<ChildComponent
moment={month.m}
onChange={m => changeMonth({ m })}
minStep={5}
prevMonthIcon="ion-ios-arrow-left"
nextMonthIcon="ion-ios-arrow-right"
/>
)
}