For data integration correctly, the plugins data (saved, downloaded, fetched) merge whenever update data each of it. Separate plugins controllers.
25 lines
714 B
JavaScript
25 lines
714 B
JavaScript
import { useEffect } from "react";
|
|
import { usePlugins } from "@logics_configs";
|
|
|
|
export const FetchLatestPluginsDataController = ({ pluginsControllerHasRunRef }) => {
|
|
const {
|
|
asyncFetchPluginsInfo,
|
|
} = usePlugins();
|
|
|
|
const asyncInitFetchPluginsInfo = async () => {
|
|
try {
|
|
await asyncFetchPluginsInfo();
|
|
} catch (error) {
|
|
console.error(error);
|
|
}
|
|
};
|
|
|
|
useEffect(() => {
|
|
if (!pluginsControllerHasRunRef.current.is_init_fetched_plugins_info) {
|
|
asyncInitFetchPluginsInfo();
|
|
pluginsControllerHasRunRef.current.is_init_fetched_plugins_info = true;
|
|
}
|
|
}, []);
|
|
|
|
return null;
|
|
}; |