1

まず最初に、私の英語が下手で申し訳ありません...

setState を使用したい、または Route.js ファイルで State フックを使用したいのですが、方法がわかりません。誰かが答えを知っているなら - 私を助けてください..

asyncstorage を使用しましたが、データが更新されたときに自動的に有効になりません。Route.js ファイルを常に更新または保存する必要があります。

これは私のRoute.jsファイルです

import React from 'react';
import { Button, Image } from 'react-native';
import {createAppContainer} from 'react-navigation';
import {createBottomTabNavigator} from 'react-navigation-tabs';
import {createStackNavigator} from 'react-navigation-stack';

import HomeScreen from './pages/HomeScreen';
import SettingsScreen from './pages/SettingsScreen';
import DetailsScreen from './pages/DetailsScreen';
import ProfileScreen from './pages/ProfileScreen';

const HomeStack = createStackNavigator(
{
   Home: { screen: HomeScreen },
   Details: { screen: DetailsScreen },
},
{
  defaultNavigationOptions: {
  headerStyle: {
   backgroundColor: '#42f44b',
   },
   headerTintColor: '#FFFFFF',
   title: 'Home',
   },
 }
);
const SettingsStack = createStackNavigator(
{
  Settings: { screen: SettingsScreen },
  Details: { screen: DetailsScreen },   
},  // here i have use asycstroage but it is not working properly
{
  defaultNavigationOptions: {
  headerStyle: {
    backgroundColor: '#42f44b',
  },
   headerTintColor: '#FFFFFF',
   title: 'Settings',
   },
 }
);               
const App = createBottomTabNavigator(
{
  Home: { screen: HomeStack },
  Settings: { screen: SettingsStack },
},
{
 defaultNavigationOptions: ({ navigation }) => ({
  tabBarIcon: ({ focused, horizontal, tintColor }) => {
   const { routeName } = navigation.state;
    if (routeName === 'Home') {
     return ( <Image source={ focused ? require('./asset/home.png') : 
      require('./asset/bar.png')}
       style={{ width: 20,
       height: 20,
       borderRadius: 40 / 2,
     }} />
   );
  } else if (routeName === 'Settings') {
     return ( <Image source={ focused ? require('./asset/setting.png') : 
      require('./asset/bar.png')}
       style={{ width: 20,
       height: 20,
       borderRadius: 40 / 2,
     }} />  
    );
    }
   },
   }),
  }
 );
export default createAppContainer(App);

どうすればそれができますか?

そして、ナビゲーション画面でこの状態を渡す方法..

ありがとう..

4

0 に答える 0