Skip to content

Help: showing new route from a deeply nested component #134

@folivi

Description

@folivi

Hey guys,
Can someone help achieve this?
I have the implementation below.

It's pretty simple:

-in my index.ios.js file:

<TabBarIOS>
<Icon.TabBarItem><Component1></Icon.TabBarItem>
<Icon.TabBarItem>
<Router firstRoute= Component2 />
</TabBarIOS>

Here goes the component 2

 <ScrollableTabView>
      <Component3 />
  </ScrollableTabView>

Component3 displays a collection of items
Let's say < ListItem />

In the ListItem component I render a view inside a TouchableHighlight.

The goal is to pop a < ItemDetailsView > to the router when user taps on one item inside the list
I assume I have to pass the router down from the parent to the nested children but I can't figure out how.

Thanks for your help

Activity

charpeni

charpeni commented on May 15, 2016

@charpeni
Contributor

You can pass specific props to the children components like this :

<Component3
  toRoute={this.props.toRoute}
/>

Or pass all the props to the component :

<Component3
  {...this.props}
/>
folivi

folivi commented on May 19, 2016

@folivi
Author

Thanks but I still don't get why it doesn't work.

I created this gist: https://gist.github.com/folivi/1c3cf4a8754335860ccede337d9eedfa
I followed the tweeter example but looks like the function this.showEvent is not passed from the Events components to the eventListItem. Strange thing is when I pass a string, the child component recieves it.
Hope you can help me
thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @folivi@charpeni

        Issue actions

          Help: showing new route from a deeply nested component · Issue #134 · react-native-simple-router-community/react-native-simple-router