javascript - 保存在react組件中的localStorage會隨著組件的更新而更新嗎?
問題描述
react組件中保存了localStorage的pagecount1的值點擊后會改變是正常的嗎?請大神分析一下。
源碼如下:
import React, { Component } from ’react’import ReactDom from ’react-dom’import Style from ’./main.css’export default class LikeButton extends Component { constructor() { super(); this.state = { liked: false }; } handleClick() { this.setState({liked: !this.state.liked}); } render() { const text = this.state.liked ? ’liked’ : ’haven’t liked’; const style = this.state.liked ? { background: ’#8aa’} : {}; localStorage.pagecount1 = localStorage.pagecount1 ? Number(localStorage.pagecount1) + 1 : 1; return ( <p className={Style.box}><p style={style} className={Style.btn} onClick={this.handleClick.bind(this)} title={’Click to toggle’}> You {text} button.</p><p> '訪問頁面次數:{localStorage.pagecount1}次'</p> </p> ); }}
問題解答
回答1:首先你這個不是訪問頁面次數, 是組件渲染的次數.其次localStorage是存入了本地, 與組件已經無關了(賦值有關), 組件銷毀關閉瀏覽器都沒關系, 只要不清瀏覽器的瀏覽數據, 就永遠存在.
傳送門 : localStorage使用
相關文章:
1. html - 對瀏覽器縮放然后大圖也縮放的問題。2. boot2docker無法啟動3. Docker for Mac 創建的dnsmasq容器連不上/不工作的問題4. docker start -a dockername 老是卡住,什么情況?5. debian - docker依賴的aufs-tools源碼哪里可以找到啊?6. docker網絡端口映射,沒有方便點的操作方法么?7. docker gitlab 如何git clone?8. angular.js - angularjs的自定義過濾器如何給文字加顏色?9. docker鏡像push報錯10. macos - mac下docker如何設置代理
