Показать сообщение отдельно
  #9 (permalink)  
Старый 19.08.2024, 21:22
Интересующийся
Отправить личное сообщение для acvafor Посмотреть профиль Найти все сообщения от acvafor
 
Регистрация: 03.08.2024
Сообщений: 13

Сообщение от Aetae Посмотреть сообщение
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 строчка.
Благодарю
Ответить с цитированием