|
@@ -0,0 +1,27 @@
|
|
|
+import React, { useEffect } from 'react';
|
|
|
+import { useDispatch, useSelector } from 'react-redux';
|
|
|
+import { getPatientTypes } from '@/states/patientTypeSlice';
|
|
|
+import type { RootState, AppDispatch } from '@/states/store';
|
|
|
+
|
|
|
+interface AppInitializerProps {
|
|
|
+ onInitialized: () => void;
|
|
|
+}
|
|
|
+
|
|
|
+const AppInitializer: React.FC<AppInitializerProps> = ({ onInitialized }) => {
|
|
|
+ const dispatch = useDispatch<AppDispatch>();
|
|
|
+ const userInfo = useSelector((state: RootState) => state.userInfo);
|
|
|
+
|
|
|
+ useEffect(() => {
|
|
|
+ const fetchData = async () => {
|
|
|
+ if (userInfo && userInfo.token) {
|
|
|
+ await dispatch(getPatientTypes({ params: {}, token: userInfo.token }));
|
|
|
+ }
|
|
|
+ onInitialized();
|
|
|
+ };
|
|
|
+ fetchData();
|
|
|
+ }, [dispatch, userInfo, onInitialized]);
|
|
|
+
|
|
|
+ return <div>正在初始化,请稍候...</div>;
|
|
|
+};
|
|
|
+
|
|
|
+export default AppInitializer;
|