私はReact Nativeを使用しています。私はすでにWhat is Unhandled Promise Rejectionをチェックしていますが、私はそれを全く理解できません。未解決のプロミス拒否未定義は関数ではありません
私はコンポーネントを作成する場合:
render(){
const MenuComponent = (
<MenuScreen CloseSlideMenu={this.SlideMenu.CloseSlideMenu} />
)
...
}
を私は次のエラーを取得:
'Possible Unhandled Promise Rejection (id: 0) TypeError: undefined is not a function (evaluating '_this.OpenSlideMenu.bind(true).then(function() {}))'
this.OpenSlideMenuは、()()コンストラクタで宣言されています。
コンストラクタ(小道具、コンテキスト){ スーパー(小道具、コンテキスト)
this.OpenSlideMenu = this.OpenSlideMenu.bind(true).catch(function(e){
console.log("Promise Rejected");
});
this.CloseSlideMenu = this.CloseSlideMenu.bind(true).catch(function(e){
console.log("Promise Rejected");
});
}
this.drawerはrender()メソッド内で宣言されています
render() {
const MenuComponent = (
<MenuScreen CloseSlideMenu={this.SlideMenu.CloseSlideMenu} />
)
return (
<Drawer
ref={(ref) => this.drawer = ref}
content={MenuComponent}
tapToClose={true}
openDrawerOffset={170}
stles={drawerStyles}
panCloseMask={0.2}
closedDrawerOffset={-3}
styles={drawerStyles}
tweenHandler={(ratio) => ({
main: { opacity: (2-ratio)/2 }
})}>
<GroceryScreen selectedCategory='Todos' OpenSlideMenu={this.OpenSlideMenu} />
</Drawer>
)
}
誰かが私に説明してもらえなぜ私はこのエラーがありますか?これをどうやって解決するのですか?
何が起こっているかを見るためにデバッガ(すべての例外に設定されたブレーク)を使用します。 – SLaks
'this.OpenSlideMenu'は、約束を返すか、すでに約束を返すメソッドですか?約束を返すメソッドをキャッチすることは効果がありません。約束が構築されたら、ただキャッチする必要があります。 – T4rk1n