Reactjs 如何在React Native中实现like功能?

Reactjs 如何在React Native中实现like功能?,reactjs,react-native,Reactjs,React Native,代码 Detail.js 构造函数(道具){ 超级(道具); 此.state={ 喜欢=错误 }; } 导出默认类详细信息扩展React.Component{ render(){ const{like}=this.state; 返回( ... 这个.setState({ 喜欢:!喜欢, }); } > ... ... ) } 在此代码中,this.state.liked起初为false,onPress会更改其状态 返回此页面时,this.state.linked返回false 我想做的是,

代码

Detail.js

构造函数(道具){
超级(道具);
此.state={
喜欢=错误
};
}
导出默认类详细信息扩展React.Component{
render(){
const{like}=this.state;
返回(
...
这个.setState({
喜欢:!喜欢,
});
} 
>
...
...
)
}

在此代码中,
this.state.liked
起初为false,onPress会更改其状态

返回此页面时,
this.state.linked
返回false

我想做的是,我想让这个类中的
状态保持最新


所以,当我回到这个页面时,我想保持
this.state.liked:true
,直到我改变它的“状态”。

如果你想将数据存储在应用程序中,当你来回导航时,你需要使用一个公共存储

基本上,当您离开页面时,该组件将卸载,这意味着它将与它的
状态一起从DOM中删除。(调用组件将在其消失之前卸载)

正如评论中所指出的:解决方案可能类似于Redux/MobX Redux工具包,等等

如果愿意,您甚至可以实现自己的存储,但如果您的项目不断增长,这可能会变得棘手

还有一个关于构造函数的注释,更改:

this.state = {
    liked = false // << liked: false
  };
this.state={
liked=false//您的逻辑很好,但是如果您将在for N数据中使用此组件,请保留“状态”。例如,您应该传递初始状态,例如{'name':'x',liked:'false',并将项目保存在您的react上下文或redux中。