質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
React Native

React Nativeは、ネイティブモバイルアプリ(iOS/Android)を作成できるJavaScriptフレームワークです。Reactと同じ設計のため、宣言的なコンポーネントでリッチなUIを開発することが可能です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

0回答

576閲覧

ExpoにおけるiPhone実機のみでのエラー

howareyou1245

総合スコア20

React Native

React Nativeは、ネイティブモバイルアプリ(iOS/Android)を作成できるJavaScriptフレームワークです。Reactと同じ設計のため、宣言的なコンポーネントでリッチなUIを開発することが可能です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

0クリップ

投稿2020/05/03 14:17

下記のソースコードをExpo環境下で実行しています。

その際、Webブラウザー、androidエミュレーターともに正常に表示されます。
また、Expo Snackにおいてもどの機種でも正常に表示されました。

しかしながら、iPhone実機のみ下記エラー内容が表示されます。

Error

1Unable to resolve "./NavigationNativeContainer" from "node_modules\@react-navigation\native\src\index.tsx"

エラーの中身を見ても、そもそもNacigationNativeContainerが使われておらず原因がわかりません。
なお、ライブラリのバージョンは以下です。

Package.json "@react-native-community/masked-view": "^0.1.10", "@react-navigation/bottom-tabs": "^5.3.3", "@react-navigation/native": "^5.2.3", "@react-navigation/stack": "^5.2.18", "expo": "~37.0.3", "react": "~16.9.0", "react-dom": "~16.9.0", "react-native": "https://github.com/expo/react-native/archive/sdk-37.0.1.tar.gz", "react-native-elements": "^2.0.0", "react-native-gesture-handler": "^1.6.1", "react-native-reanimated": "^1.8.0", "react-native-safe-area-context": "^0.7.3", "react-native-screens": "^2.7.0", "react-native-web": "~0.11.7"

この投稿の前に、

  • Expo再インストール
  • パッケージすべて再インストール
  • その後ファイルを再び作成

の手順は踏んでおります。

何かわかる方がいらっしゃいましたら、是非ご教示のほどよろしくお願いします。

React

1import * as React from 'react'; 2import { Button, View, Text } from 'react-native'; 3import { NavigationContainer } from '@react-navigation/native'; 4import { createStackNavigator } from '@react-navigation/stack'; 5import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'; 6import { ListItem } from 'react-native-elements'; 7import { FlatList } from 'react-native-gesture-handler'; 8 9function SettingsScreen({ navigation }) { 10 11 const [data,setData] = React.useState([]) 12 const [load,isLoaded] = React.useState(false) 13 14 function getNews() { 15 16 var url = "https://newsapi.org/v2/top-headlines?"+'country=jp&'+'apiKey=(myAPIkey)'; 17 fetch(url).then((response) => response.json()) 18 .then((result) => { 19 setData(result.articles) 20 isLoaded(true) 21 }) 22 } 23 24 React.useEffect(() => { 25 getNews(); 26 27 },[]) 28 console.log({data}) 29 const keyExtractor = (item,index) => index.toString(); 30 const renderItem = ({item}) => ( 31 <ListItem 32 title={item.title} 33 subtitle={item.url} 34 leftAvatar={{source:{uri:item.urlToImage}}} 35 bottomDivider 36 chevron/> 37 ) 38 39 40 return ( 41 <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}> 42 <Text>Settings Screen</Text> 43 <View style={{width:"100%"}}> 44 <FlatList 45 keyExtractor={keyExtractor} 46 data={data} 47 renderItem={renderItem} 48 /> 49 </View> 50 <Button 51 title="Go to Profile" 52 onPress={() => navigation.navigate('Profile')} 53 /> 54 </View> 55 ); 56} 57 58function ProfileScreen({ navigation }) { 59 return ( 60 <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}> 61 <Text>Profile Screen</Text> 62 <Button 63 title="Go to Settings" 64 onPress={() => navigation.navigate('Settings')} 65 /> 66 </View> 67 ); 68} 69 70function HomeScreen({ navigation }) { 71 return ( 72 <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}> 73 <Text>Home Screen</Text> 74 <Button 75 title="Go to Details" 76 onPress={() => navigation.navigate('Details')} 77 /> 78 </View> 79 ); 80} 81 82function DetailsScreen({ navigation }) { 83 return ( 84 <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}> 85 <Text>Details Screen</Text> 86 <Button 87 title="Go to Details... again" 88 onPress={() => navigation.push('Details')} 89 /> 90 </View> 91 ); 92} 93const Tab = createBottomTabNavigator(); 94const SettingsStack = createStackNavigator(); 95const HomeStack = createStackNavigator(); 96 97export default function App() { 98 return ( 99 <NavigationContainer> 100 <Tab.Navigator> 101 <Tab.Screen name="First"> 102 {() => ( 103 <SettingsStack.Navigator> 104 <SettingsStack.Screen 105 name="Settings" 106 component={SettingsScreen} 107 /> 108 <SettingsStack.Screen name="Profile" component={ProfileScreen} /> 109 </SettingsStack.Navigator> 110 )} 111 </Tab.Screen> 112 <Tab.Screen name="Second"> 113 {() => ( 114 <HomeStack.Navigator> 115 <HomeStack.Screen name="Home" component={HomeScreen} /> 116 <HomeStack.Screen name="Details" component={DetailsScreen} /> 117 </HomeStack.Navigator> 118 )} 119 </Tab.Screen> 120 </Tab.Navigator> 121 </NavigationContainer> 122 ); 123} 124

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

howareyou1245

2020/05/03 19:40 編集

このページも閲覧し、色々やりましたが解決至らずでした。 Windows環境下なのでiOSのエミュレータがなく試せていませんが、Expo Snack上ではiOSでも正常に表示出来ていたため、このタイトルにしました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問