環境
React Native + Expo
React Navigation 5x
うまくいかないこと
React Nativeで「HomeScreen」から「ArticleScreen」にデータを受け渡しながら遷移させるものを実装しようとしているのですが、「props.navigation.getParam is not a function. (In 'props.navigation.getParam('article')', 'props.navigation.getParam' is undefined)」(和訳:props.navigation.getParamは関数ではありません。 (「props.navigation.getParam( 'article')」では、「props.navigation.getParam」は未定義です))と怒られてしまいます。
ちなみに遷移先を適当なWebサイトにしたら遷移しながらそのWebページを表示してくれるので遷移自体は動いているはずです。
js
1// screens/HomeScreen.js 2// 省略 3return ( 4 <SafeAreaView style={ styles.container }> 5 <FlatList 6 data={ articles } 7 renderItem={({ item }) => ( 8 <ListItem 9 imageUrl={ item.urlToImage } 10 title={ item.title } 11 author={ item.author } 12 onPress={() => props.navigation.navigate('Article', { article: item }) } 13 /> 14 )} 15 keyExtractor={(item, index) => index.toString()} 16 /> 17 </SafeAreaView> 18 ); 19// 省略
js
1// screens/ArticleScreen.js 2// 省略 3export default ArticleScreen = (props) => { 4 return ( 5 <SafeAreaView style={ styles.container }> 6 {/* こっちはうまく遷移ししていたURLにアクセス可能 */} 7 {/* <WebView source={{ uri: 'https://qiita.com/' }} /> */} 8 9 {/* こっちがエラーになる */} 10 <WebView source={{ uri: props.navigation.getParam('article').url }} /> 11 </SafeAreaView> 12 ); 13} 14// 省略
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。