- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我尝试在三个全局 View 中保存状态。
我有组件 MovieRow
,它在 Popular
、Favorite 和 Search
组件中调用。目标是组件 MovieRow
在此 View 中调用时保留其状态(Popular
...)
例如,如果我有 2 部电影,我检查了其中一部电影以添加到收藏夹,这部电影应该保持状态。现在,如果我在单击并更改全局 View 时将电影添加到收藏夹列表,组件 MovieRow
将再次挂载并重置状态。
我尝试了很多不同的方法。将具有条件渲染的状态一个全局变量存储到我的 MovieRow
和其他。
编辑:您可以在此处查看完整代码 https://codesandbox.io/s/lpjp0oxmmq
编辑 2:我成功存储了我的状态,但无法正确使用。
componentWillUnmount () {
let storeState = localStorage.setItem('someSavedState', JSON.stringify(this.state))
console.log(" ------------------- unmount ------------------- ")
console.log(JSON.parse(localStorage.getItem('someSavedState')))
console.log(" ------------------- ------- ------------------- ")
}
componentWillMount() {
const rehydrate = JSON.parse(localStorage.getItem('someSavedState'))
console.log(" ------------------- will mount ------------------- ")
console.log(rehydrate)
console.log(" ------------------- ---- ----- ------------------- ")
// this.setState({isFaved: rehydrate})
}
你知道谁帮了我吗?
我们看到状态在这张图片中迷失了方向。重置了依赖于状态的按钮的颜色。
View popular with the first movie added to fav
电影行.js:
import React from 'react'
import '../css/MovieRow.css';
import { APIKEY, baseURL } from '../../App'
import { filter } from '../../View/Popular'
var myFavoriteMovies = []
function IsFav(props) {
return (
<div movieId={props.movie.id} className="MovieRow">
<div>
<img alt="poster" src={props.posterSrc} />
</div>
<div>
<h3>{props.movie.title}</h3>
<p>{props.movie.overview}</p>
<input type="button" value="View"/>
<button onClick={props.onClick} className=" heart">
</button>
</div>
</div>
);
}
function IsNotFav(props) {
return (
<div movieId={props.movie.id} className="MovieRow">
<div>
<img alt="poster" src={props.posterSrc} />
</div>
<div>
<h3>{props.movie.title}</h3>
<p>{props.movie.overview}</p>
<input type="button" value="View"/>
<button onClick={props.onClick} className="toggled heart">
</button>
</div>
</div>
);
}
class MovieRow extends React.Component {
constructor(props) {
super(props)
this.addFavorite = this.addFavorite.bind(this)
this.deleteFavorite = this.deleteFavorite.bind(this)
this.state = {
isFaved: false,
}
}
viewMovie() {
const url = "https://www.themoviedb.org/movie/" + this.props.movie.id
window.location.href = url
console.log(this.props.movie.id)
}
addFavorite() {
this.setState({isFaved: true})
const favMovie = "".concat(baseURL, 'movie/', this.props.movie.id ,'?api_key=', APIKEY)
myFavoriteMovies.push(favMovie)
}
deleteFavorite() {
this.setState({isFaved: false})
}
render() {
const isFaved = this.state.isFaved;
let movie;
if (isFaved) {
movie = <IsNotFav movie={this.props.movie} posterSrc={this.props.posterSrc} onClick={this.deleteFavorite}/>
} else {
movie = <IsFav movie={this.props.movie} posterSrc={this.props.posterSrc} onClick={this.addFavorite}/>
}
return movie
}
}
export { MovieRow as default, myFavoriteMovies}
最佳答案
关于javascript - 如何保留添加到收藏夹列表的组件的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51322318/
UICollectionView单元格我在单个按钮中显示具有喜欢和不喜欢选项的产品,它位于collectionview cell中。每当我滚动UICollectionview单元格“收藏夹”时,它就会
我正在使用 Tridion 2011。我正在寻找一种方法让用户重命名收藏的链接。将组件、文件夹等添加到收藏夹很简单,但有没有办法让用户重命名这些收藏夹链接? 最佳答案 开箱即用,无法以不同于原始项目的
您好,我是一名自学 Flutter 的开发人员,正在编写我的第一个应用程序。我正在 Flutter 中构建一个基本的报价应用程序,它使用 Firebase 进行身份验证,使用 FireStore 作为
如何自动完成在“邮件收藏夹”文件夹中显示公用文件夹日历的过程? 我想通过登录脚本或通过组策略来做到这一点。 我将Microsoft Exchange Server 2007与Windows Serve
我无法让它工作...可能是什么问题? import flickrapi api_key = '1234...' flickr = flickrapi.FlickrAPI(api_key) user =
代码如下: using System; using System.Data; using System.Configuration; using System
我正在考虑将 CouchDB 用于即将推出的网站,但就如何为该网站实现用户评分系统而言,我有点困惑。基本上,每个内容项都可以由给定用户评分。哪种方式在 CouchDB 模型中最有意义?我认为最干燥和最
是否可以为 Internet Explorer 开发一个插件来替代现有的收藏夹功能? 最佳答案 当然,这确实在某种程度上取决于您期望“替换”的含义。您可以开发一个扩展来提供一组新的菜单或某种类型的下拉
我正在尝试在网站上实现收藏夹系统,例如在 stackoverflow.com 上:如果您单击星号图标,则会交换图像以显示它现在是最喜欢的。只是就我而言,被收藏的不是问题而是用户。到目前为止还没有什么大
我是 react-redux 世界的新手,在可视化一段复杂的数据流时遇到了一些困难(我认为)。 假设状态包含一组轨道和一组最喜欢的轨道 ID。用户可以从许多不同的组件中收藏一首轨道,例如音乐播放器、轨
当我单击它并单击列表中的所有项目时,我在列表 View 中有“收藏夹”按钮,我如何使用共享首选项修复此问题,这是我的代码: 在我的stfl状态下: static const likedKey =
我是 iOS 新手。我想在我的应用程序的顶部菜单上放置一个“星标”按钮。有没有办法让 iOS 中内置的星形按钮类似于 UIBarButtonSystemItemAdd 如果没有,我怎样才能得到类似于
到目前为止,我已经尝试使用简单的 php GET 请求和 POST 请求,但似乎没有任何效果。 这是我迄今为止的 Javascript 代码: $(document).ready(function()
这是我的表“用户”的样子: Name Password Favorites Test Test 1 2 3 4 在我的表“数据”中有 Comment ID "Test" 2 我希望用户能够将
我正在开发一个应用程序,我有一个要求。我必须处理自定义单元格上的收藏夹按钮。我正在创建带有单元格图像的自定义按钮,并设置未选择的类型我默认提供的收藏图像,一旦用户单击单元格上的收藏按钮,我正在更改按钮
我还是个初学者,才刚刚开始学扑翼。我关注的是谷歌Codelabs上的“你的第一款颤动应用”,并止步于这一步:https://codelabs.developers.google.com/codelab
我还是个初学者,才刚刚开始学扑翼。我关注的是谷歌Codelabs上的“你的第一款颤动应用”,并止步于这一步:https://codelabs.developers.google.com/codelab
因此,根据我的搜索,这是 iOS/Apple 端长期存在的错误。到目前为止,我还无法确认解决方法,所以想看看我是否能加快速度。 我在 realfavicongenerator 的帮助下在我的网站上合并
你好亲爱的stackoverflow friend 几个月前我问过你一个关于 QuickAccess (Pin/Unpin) 的问题.不幸的是,我们仍然面临这个问题(无法取消固定虚拟对象)。在多次调用
我是一名优秀的程序员,十分优秀!