I am making an app for now it has 2 components. My directory structure is as follows:
-app
-components
-Dashboard
-index.js
-Home
-index.js
-App.js
This is my Dashboard/index.js
:
import React, {Component} from 'react';
import {Platform, StyleSheet, Text, View, Button} from 'react-native';
import { createStackNavigator, createAppContainer } from "react-navigation";
import { Header, Icon, SearchBar, ListItem } from 'react-native-elements';
class Dashboard extends Component{
operate()
{
console.log('hello')
}
render() {
return (
<View style={styles.container}>
<Header
leftComponent={{ icon: 'menu', color: '#fff' }}
centerComponent={{ text: 'App', style: { color: '#fff' } }}
rightComponent={{ icon: 'home', color: '#fff' }}
/>
<View>
<Button title='back' onPress={() => this.operate()}/>
<Button title='bookmark' onPress={() => this.operate()}/>
</View>
<View>
<Text>
This is Dashboard Screen
</Text>
</View>
</View>
);
}
}
export default Dashboard;
This is my Home/index.js
import React, {Component} from 'react';
import {Platform, StyleSheet, Text, View, Button} from 'react-native';
import { createStackNavigator, createAppContainer } from "react-navigation";
import { Header, Icon, SearchBar, ListItem } from 'react-native-elements';
class Home extends Component{
operate()
{
console.log('hello')
}
render() {
return (
<View style={styles.container}>
<Header
leftComponent={{ icon: 'menu', color: '#fff' }}
centerComponent={{ text: 'App', style: { color: '#fff' } }}
rightComponent={{ icon: 'home', color: '#fff' }}
/>
<View>
<Text>
This is HOME
</Text>
</View>
<View>
<Button
title="Go to Details... again"
onPress={() => this.props.navigation.navigate('Dashboard')}
/>
</View>
<View>
{
list.map((l, i) => (
<ListItem
key={i}
title={l.name}
/>
))
}
</View>
</View>
);
}
}
const list = [
{
name: 'Amy Farha',
avatar_url: 'https://s3.amazonaws.com/uifaces/faces/twitter/ladylexy/128.jpg',
subtitle: 'Vice President'
},
{
name: 'Chris Jackson',
avatar_url: 'https://s3.amazonaws.com/uifaces/faces/twitter/adhamdannaway/128.jpg',
subtitle: 'Vice Chairman'
}
]
export default Home;
And this is my App.js
import React, {Component} from 'react';
import { createStackNavigator, createAppContainer } from "react-navigation";
import Home from './app/components/Home'
import Dashboard from './app/components/Dashboard'
const AppNavigator = createStackNavigator({
home: {
screen: Home
},
dashboard: {
screen: Dashboard
}
});
export default createAppContainer(AppNavigator);
So I am stuck here. I followed different tutorials for this. I am displaying the list.name
on my home and when any name is pressed the user can go to Dashboard
with rest of the details of associated with that name. But I am unable to navigate to Dashboard
and hence I have no idea how to pass that data.
So my question is this
-How do I navigate between these component and pass the data as well?
Thanks