Пожалуйста, найдите обновленную песочницу для того же https://codesandbox.io/s/loving-snow-qlp8c
Это на самом деле очень хороший вопрос! После большого количества ударов головой я нашел решение. На самом деле, проблема не в том, как вы написали компонент реагирования, а в том, что Column
из DataTable
. Если вы посмотрите на их код GITHUB, вы обнаружите, что это просто Component
с defaultProps
. Вам просто нужно передать sortable
как defaultProps
вашему CustomColumn
компоненту и TADA! Он должен работать.
Я хотел бы добавить, почему он работал с реквизитом для field
и header
, потому что когда был создан экземпляр Column
, были созданы экземпляры field
и header
с props
так что defaultProps
не доходит до картинки. Но когда вы передавали sortable
из CustomColumn
, у React не было возможности понять, что он должен заново создать экземпляр props
, так как компонент уже создан, и для реквизита как компонента Column
никаких изменений нет. это просто компонент с defaultProps
. Для primereact
очень нехорошо проектировать компоненты таким способом. Вы также можете поднять вопрос в их GITHUB