現状
簡易版ですが、現在以下のソースコードのような画面構成になっています。
javaScript
1import React, { Component } from 'react'; 2import { 3 Text, 4 View, 5 StyleSheet , 6 TouchableOpacity, 7} from 'react-native'; 8 9import { 10 createAppContainer, 11 createStackNavigator, 12 createMaterialTopTabNavigator, 13} from "react-navigation"; 14 15class MainScreen extends Component { 16 render(){ 17 return( 18 <View style={styles.container}> 19 <TouchableOpacity 20 style={{width:100,height:30,backgroundColor:"lightblue",justifyContent:"center",alignItems:"center"}} 21 onPress={() => this.props.navigation.navigate("Post",{userData:{name:"hoge太郎"}})} 22 > 23 <Text>to PostScreen</Text> 24 </TouchableOpacity> 25 </View> 26 ) 27 } 28} 29 30class PostTab1 extends Component { 31 render(){ 32 return( 33 <View style={styles.container}> 34 <Text>ここで userData を使いたい!!</Text> 35 </View> 36 ) 37 } 38} 39 40class PostTab2 extends Component { 41 render(){ 42 return( 43 <View style={styles.container}> 44 <Text>ここで userData を使いたい!!</Text> 45 </View> 46 ) 47 } 48} 49 50const topTab = createMaterialTopTabNavigator({ 51 tab1:{ 52 screen:PostTab1, 53 }, 54 tab2:{ 55 screen:PostTab2, 56 } 57}) 58 59const TopTabContainer = createAppContainer(topTab) 60 61class PostScreen extends Component { 62 render(){ 63 return( 64 <View style={{flex:1,backgroundColor:"#ecf0f1"}}> 65 <View style={{height:60,width:"100%",flexDirection:"row",alignItems:"center",padding:10}}> 66 <View style={{width:40,height:40,borderRadius:20,backgroundColor:"orange",marginRight:10}}/> 67 <Text>name : {this.props.navigation.getParam("userData",{name:"no name"}).name}</Text> 68 </View> 69 <TopTabContainer /> 70 </View> 71 ) 72 } 73} 74 75const stack = createStackNavigator({ 76 Main:{ 77 screen:MainScreen, 78 navigationOptions:() => ({ 79 title:"Main" 80 }), 81 }, 82 Post:{ 83 screen:PostScreen, 84 navigationOptions:() => ({ 85 title:"Post" 86 }), 87 } 88}) 89 90const StackContainer = createAppContainer(stack); 91 92export default StackContainer; 93 94const styles = StyleSheet.create({ 95 container: { 96 flex: 1, 97 justifyContent: 'center', 98 alignItems:"center", 99 backgroundColor: '#ecf0f1', 100 }, 101});
このような状況で、MainScreen
で保持しているuserData
をPostTab1,2
で使用したいです。
この時どのようにすればいいのか教えていただきたいです。
補足情報(FW/ツールのバージョンなど)
"react-navigation": "^3.11.1"
すこし前のバージョンなのですが、react-navigationはこちらのバージョンのものを使用しています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。