🔖

【RN Update 2024年9月】 Expo ImageにonDisplayイベントが追加 他

2024/09/30に公開

はじめに

こんにちは!
「愛犬との毎日を楽しく便利にするアプリ オトとりっぷ」でエンジニアしています、足立です!
この記事では、今月の React Native に関連するニュースを紹介します。

目次

  • ライブラリ情報
    • 【Expo Image】 onDisplay イベントが追加
    • 【react-native-device-info】 v12, v13 がリリース
    • 【Expo FileSystem】 同期的なファイル操作をサポート (next)
  • React Native 関連情報
    • React Native Core Contributor Summit 開催

ライブラリ情報

【Expo Image】 onDisplay イベントが追加

Expo Image のv1.13.0に onDisplay イベントが追加されました!

onLoad イベントは画像が画面に表示される前に呼び出されるため、画像が完全にレンダリングされたらアニメーションを停止するなど、場合によっては不十分なことがあります。
画像がレンダリングされると呼び出される onDisplay イベントを追加しました
(Google 翻訳)

ということで、onLoad イベントではカバーしきれなかった「画像表示が完了したら」というユースケースに対応してくれました。痒いところに手が届く、こういう修正は非常にありがたいですね。

修正の Pull requests はこちら

https://github.com/expo/expo/pull/31581

【react-native-device-info】 v12, v13 がリリース

react-native-device-info の v12 及び v13 がリリースされました!

https://github.com/react-native-device-info/react-native-device-info/releases/tag/v12.0.0

https://github.com/react-native-device-info/react-native-device-info/releases/tag/v13.0.0

いくつか BREAKING CHANGES が含まれています。

  • iOS : getUniqueId で取得できる ID が、デバイス毎ではなくユーザー毎に変更されました
  • Android : powerStateDidChange で取得できる値が、batteryState ではなく powerState となり iOS と同じになりました

これらの API を利用している場合は、アプリケーション内での修正が求められそうですね。

【Expo FileSystem】 同期的なファイル操作をサポート (next)

Expo FileSystem の次世代バージョン(Next バージョン)にて同期的なファイル操作がサポートされました!

https://docs.expo.dev/versions/unversioned/sdk/filesystem-next/

import { File, Paths } from 'expo-file-system/next';

try {
  const file = new File(Paths.cache, 'example.txt');
  file.create(); // can throw an error if the file already exists or no permission to create it
  file.write('Hello, world!');
  console.log(file.text()); // Hello, world!
} catch (error) {
  console.error(error);
}

file.write('Hello, world!')に await が付与されてないことからも、同期的書き込み処理であることがわかります。
ネイティブレイヤとの通信が旧来の非同期的な Bridge 方式から新たな同期的な JSI 方式に変更されたメリットが生かされていますね。
今後はこんな風なネイティブレイヤとの通信手段が増えてくれると嬉しいです。

React Native 関連情報

React Native Core Contributor Summit 開催

React Native のカンファレンスが開催されました!

https://www.youtube.com/watch?v=b48Lax2-jOQ

主要なトピックスとして、新たなデバッガーや New Arch、Static Hermes の情報があるみたいです。
New Arch がデフォルト On になる React Native v0.76 が来月末にはリリースされる情報もありますので、最新情報はチェックが必要ですね。

最後に

ここまで読んでいただきありがとうございました。

もし犬専用の音楽アプリに興味を持っていただけたら、ぜひダウンロードしてみてください!

https://www.oto-trip.com/

Discussion