colorfy-software / react-native-modalfy

🥞 Modal citizen of React Native.
https://colorfy-software.gitbook.io/react-native-modalfy
MIT License
1.08k stars 44 forks source link

A complete example with react-navigation stack #14

Closed WesleyFaveri closed 4 years ago

WesleyFaveri commented 4 years ago

Im missing a example to work modal with react-navigation, how i can work with AppNavigator

iremlopsum commented 4 years ago

Not sure what you're asking for, it's the same as in any situation

<ModalProvider>
  <Navigator />
</ModalProvider>

Does this answer your question?

WesleyFaveri commented 4 years ago

I made like:

const ModalProviderComponent = ({ children }) => (
  <ModalProvider stack={stack}>
    {children}
  </ModalProvider>
);

export default ModalProviderComponent;

And

const AppNavigator = createAnimatedSwitchNavigator({
  Login,
  Dashboard,
},{
  initialRouteName: 'Login',
});

const AppContainer = createAppContainer(AppNavigator);
...
return (
  <ModalProvider>
    <AppContainer />
  </ModalProvider>
);

But Its not trigger initialRouteName: 'Login'

CharlesMangwa commented 4 years ago

Hi @WesleyFaveri !

You don't need to create your ModalProviderComponent (and I could see how you actually use it from your example).

import React from 'react'
import { ModalProvider, createModalStack } from 'react-native-modalfy'
import { createAppContainer, createAnimatedSwitchNavigator } from 'react-navigation'

const AppNavigator = createAnimatedSwitchNavigator({
  Login,
  Dashboard,
},{
  initialRouteName: 'Login',
});

const AppContainer = createAppContainer(AppNavigator)

const stack = createModalStack(...)

export default class App {
  return (
    <ModalProvider stack={stack}>
      <AppContainer />
    </ModalProvider>
  )
}
CharlesMangwa commented 4 years ago

Closing for inactivity, feel free to re-open if needed.

joeyfigaro commented 3 years ago

@CharlesMangwa It's possible that OP was interested in using react-navigation's helpers to navigate to their modals. You still out there @WesleyFaveri?