Показать сообщение отдельно
  #8 (permalink)  
Старый 18.08.2024, 21:08
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,589

acvafor, сорян, перед сном неглядя нафигачил, надо так:
import { useState } from 'react';
import { NavigationContainer } from '@react-navigation/native';
import { createNativeStackNavigator } from '@react-navigation/native-stack';
import HomeScreen from './tabs/HomeScreen';
import Settings from './tabs/Settings';
import {Button} from "react-native";

const Stack = createNativeStackNavigator();
const defaultTaskContext = {setTaskList(){console.warn('setTaskList is not set')}};
const TaskListContext = createContext(defaultTaskContext);

export default function App() {
  const [taskListContext, setTaskListContext] = useState({...defaultTaskContext});
  taskListContext.set = setTaskListContext; // на случай полного обновления контекста

  return (
    <TaskListContext.Provider value={taskListContext}>
      <NavigationContainer>
        <Stack.Navigator
            screenOptions={{
              headerStyle: {
                backgroundColor: 'gray',
              },
              headerTintColor: '#fff',
            }}>
          <Stack.Screen name="Home" component={HomeScreen} options={{ headerShown: false }} />
          <Stack.Screen name="Settings" component={Settings} options={{ title: "",  }} />
        </Stack.Navigator>
      </NavigationContainer>
    </TaskListContext.Provider>
  );
}


А setTaskList будет установлено в HomeScreen - 6 строчка.
__________________
29375, 35

Последний раз редактировалось Aetae, 18.08.2024 в 21:11.
Ответить с цитированием