首页 > 解决方案 > React Native:在渲染之前调度操作以获取数据(Redux)

问题描述

我正在开发一个以 redux 作为状态管理的反应原生应用程序并尝试以下实现:

我无法弄清楚问题所在。因为我应该或不应该将我的调度代码放在“useeffect”钩子中?

import React, {useEffect} from 'react';
import {ActivityIndicator, View} from 'react-native';
import {Images, useTheme} from '@config';
import {Image, Text} from '@components';
import styles from './styles';
import {ApplicationActions} from '@actions';
import { store } from '/Users/user1/KitaList/app/store/index.js'


export default function Loading({navigation}) {
  const {colors} = useTheme();

  const onProcess = () => {

    setTimeout(() => {
      navigation.replace('Main');
    }, 2500);
  };

  useEffect(() => {
   store.dispatch(ApplicationActions.ongetKitadata()); //Executing dispatchting getting data 
    onProcess();
  }, []);

  return (
    <View style={styles.container}>
      <View style={{alignItems: 'center'}}>
        <Image source={Images.logo} style={styles.logo} resizeMode="contain" />
        <Text title1 style={{marginTop: 10}}>
          MyApp
        </Text>
        <Text headline primaryColor style={{marginTop: 10}}>
          MyApp DIRECTORY
        </Text>
      </View>
      <ActivityIndicator
        size="large"
        color={colors.text}
        style={{
          position: 'absolute',
          top: 260,
          left: 0,
          right: 0,
          bottom: 0,
          justifyContent: 'center',
          alignItems: 'center',
        }}
      />
    </View>
  );
}

标签: reactjsreact-nativereact-reduxreact-hooksuse-effect

解决方案


推荐阅读