Size: a a a

React Native — русскоговорящее сообщество

2020 April 23

KB

Kim Blinov in React Native — русскоговорящее сообщество
я бы как-то вот тут указать init params
источник

KB

Kim Blinov in React Native — русскоговорящее сообщество
Demuz
<Stack.Screen
 name="Details"
 component={DetailsScreen}
 initialParams={{}}
/>

Пустой объект в initialParams укажите.
ща пробну
источник

KB

Kim Blinov in React Native — русскоговорящее сообщество
initParams не видел
источник

D

Demuz in React Native — русскоговорящее сообщество
Kim Blinov
initParams не видел
источник

YO

Yurii Oliiarnyk in React Native — русскоговорящее сообщество
Demuz
Проще никак не сделаете, просто руками переписывайте и все. Ну там только единственный небольшой минус есть. После обновления react-native-screens или подобного модуля, у вас все экраны серые станут, если вы не указывали backgroundColor у компонентов экранов. А так по любому обновлять стоит. Классно работает и с динамикой кайф там работать и со вложенными навигаторами.
спасибо)
источник

ЭЗ

Эдуард Заборовский... in React Native — русскоговорящее сообщество
Demuz
Проще никак не сделаете, просто руками переписывайте и все. Ну там только единственный небольшой минус есть. После обновления react-native-screens или подобного модуля, у вас все экраны серые станут, если вы не указывали backgroundColor у компонентов экранов. А так по любому обновлять стоит. Классно работает и с динамикой кайф там работать и со вложенными навигаторами.
А как вообще правильно работать со вложенными навигаторами? :D
У меня ещё не очень с реактом. И я например плохо представляю, как делать некоторые простые вещи.
Например, у меня ТабНавигатор в экране с СтэкНавигатором.
В одной из вкладок у меня кнопка. Как по нажатию на кнопку открыть экран в СтэкНавигаторе?
Сейчас я прокинул через инитПарамс и так по лесенке в компонент кнопки, но это как-то не очень выглядит...
источник

ЭЗ

Эдуард Заборовский... in React Native — русскоговорящее сообщество
источник

D

Demuz in React Native — русскоговорящее сообщество
Эдуард Заборовский
А как вообще правильно работать со вложенными навигаторами? :D
У меня ещё не очень с реактом. И я например плохо представляю, как делать некоторые простые вещи.
Например, у меня ТабНавигатор в экране с СтэкНавигатором.
В одной из вкладок у меня кнопка. Как по нажатию на кнопку открыть экран в СтэкНавигаторе?
Сейчас я прокинул через инитПарамс и так по лесенке в компонент кнопки, но это как-то не очень выглядит...
Я немного не понял ваше описание. Вы проще напишите. Вы находитесь в таб навигаторе и хотите открыть экран, который перекроет всю таб навигацию?
источник

ЭЗ

Эдуард Заборовский... in React Native — русскоговорящее сообщество
<Navigator>
<TabNavigator>
<TabScreen>
<Button>
источник

D

Demuz in React Native — русскоговорящее сообщество
Эдуард Заборовский
А как вообще правильно работать со вложенными навигаторами? :D
У меня ещё не очень с реактом. И я например плохо представляю, как делать некоторые простые вещи.
Например, у меня ТабНавигатор в экране с СтэкНавигатором.
В одной из вкладок у меня кнопка. Как по нажатию на кнопку открыть экран в СтэкНавигаторе?
Сейчас я прокинул через инитПарамс и так по лесенке в компонент кнопки, но это как-то не очень выглядит...
Вложенные делаются очень просто. Создаете навигатор, указываете там компоненты, которые он будет отрисовывать и их имена. Затем весь этот навигатор вставляете в component вышестоящего навигатора.
источник

ЭЗ

Эдуард Заборовский... in React Native — русскоговорящее сообщество
То есть, это нормально?
<Tab.Screen name="Обновления" initialParams={ {masterNavigation : masterNavigation}} component={NewsScreen} />

const NewsScreen = ({route}) => {
   return (
       <BooksController type={"news"} navigation = {route.params.masterNavigation} />
   );
}
источник

D

Demuz in React Native — русскоговорящее сообщество
Эдуард Заборовский
То есть, это нормально?
<Tab.Screen name="Обновления" initialParams={ {masterNavigation : masterNavigation}} component={NewsScreen} />

const NewsScreen = ({route}) => {
   return (
       <BooksController type={"news"} navigation = {route.params.masterNavigation} />
   );
}
Имена экранов лучше не писать на кириллице. Возможно так писать, но крайне не рекомендуется.
источник

D

Demuz in React Native — русскоговорящее сообщество
Эдуард Заборовский
То есть, это нормально?
<Tab.Screen name="Обновления" initialParams={ {masterNavigation : masterNavigation}} component={NewsScreen} />

const NewsScreen = ({route}) => {
   return (
       <BooksController type={"news"} navigation = {route.params.masterNavigation} />
   );
}
Нет, не нормально)
источник

D

Demuz in React Native — русскоговорящее сообщество
Эдуард Заборовский
То есть, это нормально?
<Tab.Screen name="Обновления" initialParams={ {masterNavigation : masterNavigation}} component={NewsScreen} />

const NewsScreen = ({route}) => {
   return (
       <BooksController type={"news"} navigation = {route.params.masterNavigation} />
   );
}
Что такое мастер навигация?
источник

ЭЗ

Эдуард Заборовский... in React Native — русскоговорящее сообщество
Demuz
Что такое мастер навигация?
Стек навигатор
источник

ЭЗ

Эдуард Заборовский... in React Native — русскоговорящее сообщество
Demuz
Нет, не нормально)
Слава Богу
источник

D

Demuz in React Native — русскоговорящее сообщество
Эдуард Заборовский
То есть, это нормально?
<Tab.Screen name="Обновления" initialParams={ {masterNavigation : masterNavigation}} component={NewsScreen} />

const NewsScreen = ({route}) => {
   return (
       <BooksController type={"news"} navigation = {route.params.masterNavigation} />
   );
}
Нельзя так передавать целый стек навигатор в параметры инициализации экрана из таб навигации. 😅
источник

ЭЗ

Эдуард Заборовский... in React Native — русскоговорящее сообщество
Каллбэк на функцию как-то прокинуть?
источник

D

Demuz in React Native — русскоговорящее сообщество
Нет, если вы хотите перейти на какой-то экран или стек, то сначала он должен стоять у вас параллельно со стеком, откуда идет переход. Навигация сама "разрулит" и перейдет на нужный экран, если вы вызовете navigate.
источник

D

Demuz in React Native — русскоговорящее сообщество
Я просто не очень пойму, какая реализация вам нужна. Сейчас, покажу пример, а вы скажите, такое вам нужно или нет.
источник