gpt4 book ai didi

javascript - React-Native 引用未定义

转载 作者:行者123 更新时间:2023-11-28 04:21:38 24 4
gpt4 key购买 nike

我目前正在开发一个应用程序,以下是与我的错误相关的基本代码:

这是渲染函数:

render() {
return (
<ScrollableTabView>
<NavigatorIOS
translucent={false}
initialRoute={{
component: MenuList,
title: '',
passProps: { hideNavBar: this.hideNavBar,
showNavBar: this.showNavBar,
toggleFav: this.toggleFav,
getFavImg: this.getFavImg,
},
}}
navigationBarHidden={this.state.hideNavBar}
style={{ flex: 1 }}
barTintColor="#1f3157"
titleTextColor="#f6f6f6"
tabLabel="Menu"
/>
<NavigatorIOS
ref="nav"
translucent={false}
initialRoute={{
component: FavoritesList,
title: '',
passProps: { hideNavBar: this.hideNavBar,
showNavBar: this.showNavBar,
favs: this.state.favs,
},
}}
navigationBarHidden={this.state.hideNavBar}
style={{ flex: 1 }}
barTintColor="#1f3157"
titleTextColor="#f6f6f6"
tabLabel="Favorites"
/>
<SpecialsList tabLabel="Specials" />
</ScrollableTabView>
);

所以现在,当用户更新第一个 NavigatorIOS 中的某些内容时,我正在尝试进行第二个 NavigatorIOS 更新。我目前拥有它,因此当第一个中的某些内容更新时,它会调用一个函数,然后该函数又调用一个函数来替换第二个函数:

toggleFav = ( item ) => {
//if not a favorite / not in map
if ( !this.state.favs[item.title] ){
this.state.favs[item.title] = item;
this.state.favs[item.title].faved = true;
}
else if ( this.state.favs[item.title].faved ){
this.state.favs[item.title].faved = false;
}
else {
this.state.favs[item.title].faved = true;
}

this.favChange();
}

favChange = () => {
this.refs.nav.replace({
component: FavoritesList,
title: '',
passProps: {
hideNavBar: this.hideNavBar,
showNavBar: this.showNavBar,
favs: this.state.favs,
},
});
}

我现在遇到的错误是 this.refs.navfavChange 函数中未定义。我知道这一定是 this 的问题,但我不知道如何解决它。

提前致谢!

最佳答案

这可能是因为“this”绑定(bind)。this.favChange = this.favChange.bind(this)您可以尝试在构造函数或初始化代码中添加此代码吗?

关于javascript - React-Native 引用未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45382591/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com