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. css3 - 純css實現點擊特效2. css - 新手做響應式布局, 斷點過后右側出現空白,求幫助,謝謝。3. mysql - 記得以前在哪里看過一個估算時間的網站4. javascript - 關于<a>元素與<input>元素的JS事件運行問題5. MySQL中的enum類型有什么優點?6. 大家好,我想請問一下怎么做搜索欄能夠搜索到自己網站的內容。7. javascript - ES6 中能否把 class 屬性 方法 分文件?8. python - 能通過CAN控制一部普通的家用轎車嗎?9. css - 關于border-image10. mysql - 查詢字段做了索引為什么不起效,還有查詢一個月的時候數據都是全部出來的,如果分拆3次的話就沒問題,為什么呢。
