浜松のWEBシステム開発・スマートフォンアプリ開発・RTK-GNSS関連の開発はお任せください
株式会社シーポイントラボ
TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:静岡県浜松市中区富塚町1933-1 佐鳴湖パークタウンサウス2F

【react-native】currentlyFocusedField is deprecated and will be removed in a future release」の対処法について

react-native-router-fluxを使って他の画面に飛ぼうとすると

currentlyFocusedField is deprecated and will be removed in a future release

とエラーが出る。というか見た目はエラーっぽいけど遷移は成功するので恐らくただの警告。

なお、同じ遷移系ライブラリreact-navigation/nativeでも全く同じエラーが出るもよう。

このままでもアプリ開発は続行できるものの、使われなくなったcurrentlyFocusedFieldが後々バグの原因となりかねんということで

エラー除去をすることに。

package.json内

[json]

“dependencies”: {
“@react-navigation/native”: “^5.7.3”,
“react”: “16.13.1”,
“react-native”: “^0.63.2”,
“react-native-gesture-handler”: “^1.7.0”,
“react-native-reanimated”: “^1.13.0”,
“react-native-router-flux”: “^4.2.0”,
“react-native-screens”: “^2.10.1”
},
“devDependencies”: {
“@babel/core”: “7.11.1”,
“@babel/runtime”: “7.11.2”,
“@react-native-community/eslint-config”: “1.1.0”,
“babel-jest”: “25.5.1”,
“eslint”: “6.8.0”,
“jest”: “25.5.4”,
“metro-react-native-babel-preset”: “0.59.0”,
“react-test-renderer”: “16.13.1”
},

[/json]

 

下記のディレクトリにcreateKeyboardAwareNavigator.jsというファイルが存在する。

C:\Users\mypc\Documents\stampapp\node_modules\react-navigation\
node_modules\@react-navigation\native\lib\module\createKeyboardAwareNavigator.js

このコード内のTextInput.State.currentlyFocusedField();をTextInput.State.currentlyFocusedInput();に変更

することで修正することができる。

 

参考リンク↓
https://github.com/aksonov/react-native-router-flux/issues/3691

currentlyFocusedFieldは非推奨で使われなくなるとのことだったので探すまでなんのこっちゃと思っていた

のですがこれを見てようやく納得がいきました。

裏技としてLogBox.ignoreAllLogs()を使うことでエラーログをスルーすることもできますが、開発者としてやはり気持ち悪い、または細かいエラーも見過ごせない気持ちになってくるので個人的にはあんまり使いたくないです。

  • この記事いいね! (0)