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. docker安裝后出現Cannot connect to the Docker daemon.2. 為什么我ping不通我的docker容器呢???3. android - webview 自定義加載進度條4. mysql - 怎么讓 SELECT 1+null 等于 15. javascript - 微信音樂分享6. 網頁爬蟲 - 用Python3的requests庫模擬登陸Bilibili總是提示驗證碼錯誤怎么辦?7. javascript - 微信小程序封裝定位問題(封裝異步并可能多次請求)8. 并發模型 - python將進程池放在裝飾器里為什么不生效也沒報錯9. linux - openSUSE 上,如何使用 QQ?10. python 怎樣用pickle保存類的實例?
