CommentOut

【React Native】React Navigationでエラーが発生する 【React Native】React Navigationでエラーが発生する

【React Native】React Navigationでエラーが発生する

公開日:  最終更新日:

最近、スマホアプリを作りたいと思って、ReactNative+Expoのお勉強を始めました。
学習にあたって様々な書籍を購入したのですが、Youtubeのロックシステムアカデミーさんの動画が一番わかりやすかったです。
フェーズごとに細かく説明されており、順序よくuseStateやuseEffectの説明が出てくるので、これからReactNativeの学習を始める方にオススメです。
こんな良い動画が執筆時点で数百回しか再生されていないなんて信じられない・・・

ロックシステムアカデミー!ゆっくりプログラミング学習
https://www.youtube.com/channel/UC6JxNQ2QTX8Dl96V2MMNP8A

ただ、動画中盤の画面遷移の実装の所で、React Navigation関連のエラーが発生しました。
以前もこの動画を参考に作ったことがあるのですが、その時には発生しなかったエラーです。
バージョンが上がって発生するようになったのかな・・・

React Navigation導入時のエラーの内容

react navigationをインストールすると、以下のようなエラーが発生します。

Android Bundling failed 4673ms
node_modules\react-native-reanimated\src\index.ts: [PATH]\node_modules\react-native-reanimated\src\index.ts: Export namespace should be first transformed by `@babel/plugin-proposal-export-namespave-from`.
5|export * from './reanimated1';
6|export * from './reanimated2';
7|export * as default from './Animated';

SyntaxError: [PATH]\node_modules\react-native-reanimated\src\index.ts: Export namespace should be first transformed bt `@babel/plugin-proposal-export-namespace-from`.
5|export * from './reanimated1';
6|export * from './reanimated2';
7|export * as default from './Animated';

react-native-reanimatedの中で、Syntax Errorが発生しています。
何が問題なのかも全くわからん・・・

海外サイトを見るとキャッシュクリアしたら直るという情報がありました

海外サイトで「キャッシュじゃね?」みたいなこと言われてたので、一度Expoを落として、キャッシュクリアして実行してみます。
私はExpoを使っているので、”-c”オプションでキャッシュクリアして実行します。

$ expo start -c

それでも直りませんでした。

babel.config.jsを編集した

babel.config.jsの中に以下の記述を行いました。

module.exports = function(api) {
    api.cache(true);
    return {
        presets: ['babel-preset-expo'],
        plugins: ['react-native-reanimated/plugin'], // ←この行を追加しました。
    };
}

そうすると動きました!
ちょっとまだどうして直ったのかわからないけど、とりあえず動きました。

ちなみに、APIのURIの記述はただのシングルクオーテーションじゃないよ

もう一点、動画のつまづきポイントじゃないかと思うのが、APIのURIを指定する文字列の所

ただのシングルクオーテーションで囲んでいると、${Contents.manifest.extra.newsApiKey}の部分の色が変わりません。
これは使っている記号が違うんです。

これ動画内で説明されていないんですが、バッククオートという記号を使っています。

シングルクオーテーションを変換するとバッククオートになるんで、試してみてください。

宣伝
WordPressサイトのテンプレート編集やトラブル対応、バグ修正、簡単なJavascriptの作成(カルーセルやバリデーション等)など、小規模なスポット対応を受け付けております。
もしお困りごとがありましたら、お問い合わせフォームよりご相談ください。

この記事を書いた人

uilou

uilou

プログラマー

基本的に、自分自身の備忘録のつもりでブログを書いています。 自分と同じ所で詰まった人の助けになれば良いかなと思います。 システムのリファクタリングを得意としており、バックエンド、フロントエンド、アプリケーション、SQLなど幅広い知識と経験があります。 広いだけでなく、知識をもっと深堀りしていきたいですね。