production.log

株式会社リブセンスでエンジニアをやっている星直史のブログです。

ReactNative 0.59.8のCameraRoll.getPhotosでInvalid filter option: '(null)'. Expected one of 'photos','videos' or 'all'.が発生した場合の回避方法

概要

タイトルの通り、ReactNative 0.59.8において、CameraRoll.getPhotos({first:1234})がエラーになってしまいます。
また、これはiOSのみで発生します。
エラー文を見た感じ、optionとしてassetTypeに何かしら指定すれば良さそうです。

ただ、ドキュメントを見る限り、"Photos"がdefaultなので普通に不具合っぽいですね。

facebook.github.io

回避方法

先述の通りassetType: "Photos"を指定すれば良いかと思いきや、groupTypesも指定しなければうまく取得できませんでした。 最終的には下記のようにコードを書き換えるとうまく動作します。

CameraRoll.getPhotos({first: 1234, assetType: "Photos", groupTypes: "All"}) 

追記2019/07/21 19:23 JST

上記の修正を行なった場合、Android版ではgroupTypesが存在しない旨のエラーが出てしまうため、Platformによりコードを修正せざるを得ない。