Рефакторинг компонента класса React, ранее использовавшего Flux, вместо этого использовал React Hooks.
Предыдущий компонент использовал getStores () и calcState () для подписки на объекты хранилища и обновления локального состояния.
Есть ли способ реорганизовать компонент класса в функциональный компонент React, используя React Hooks (useState, useEffect, et c?), Чтобы получить ту же подписку для хранения объектов?
пример компонента flux:
class exampleComponent extends React.Component {
static getStores() {
return [storeOne];
}
static calculateState() {
const someData = storeOne.getState();
return {
someData
};
}
}
цель (что-то вроде этого, которая подписывается на магазин):
function exampleComponent(props) {
const [storeData] = useState(storeOne.getState());
return (
<someElement
data={storeData}
>
</someElement>
);
}
Примечание: попытался использовать useState, как указано выше, но он не подписывается на storeOne , поэтому Компонент не выполняет повторную визуализацию при изменении состояния storeOne . Я хотел бы иметь возможность каким-либо образом подписаться на изменения в storeOne , чтобы компонент повторно отображался при наличии изменений в storeOne .