5月
20

AWSAppSyncClient, Apollo & React Native,Expoで動かしてみるとエラーが

TypeError: this.currentObservable.query.getCurrentResult is not a function

調べてみるとどうやらaws-appsyncが古いバージョンのapollo-clientを呼び出してしまうらしい。

ただ、amplify pullした直後は普通に動いていて、触っているうちに動かなくなってしまったので一体なんなのだろうという感じ。。。

https://stackoverflow.com/questions/60804372/proper-way-to-setup-awsappsyncclient-apollo-react

このエラーで検索するとだいたい

https://github.com/apollographql/react-apollo/issues/3148

https://github.com/apollographql/react-apollo/issues/3368

"resolutions": {
    "apollo-client": "2.6.3"
 }

これを入れればいいと書いてあるけれども、実際は解決せずそれでも結局古いapollo-clientを参照してしまうらしいので解決しない。

やっとこさ見つけたのがこの記事

https://medium.com/@guillac124/create-your-custom-apollo-client-for-aws-appsync-to-use-hooks-2d5cbce29db5

https://hubarifront.hatenablog.com/entry/2020/04/27/113850

結局のところaws-appsyncを使わないという手段をとっている。
自分はここで面倒になったので動いたところにrollbackしてしまった。

aws-appsyncを使う方はgitignoreからappsync関連を外しておいた方が良さそうです。

About the Author

Leave a Reply