Adakah perkara biasa bahawa nilai pagecount1 yang menyimpan localStorage dalam komponen tindak balas akan berubah selepas mengklik? Tolong analisanya.
Kod sumber adalah seperti berikut:
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>
);
}
}
Pertama sekali, ini bukan bilangan lawatan halaman, tetapi bilangan pemaparan komponen
Kedua, localStorage disimpan secara setempat,
Ia tiada kaitan dengan komponen (berkaitan dengan tugasan),
Tidak mengapa. jika komponen dimusnahkan atau pelayar ditutup, selagi pelayar tidak jelas Semak imbas data, ia akan sentiasa ada.
Portal: digunakan oleh localStorage