上面的例子,有两个页面,第二个页面定义了初始isShow为false,也有一个改变isShow状态的按钮,第一个页面进去第二个页面时初始isShow为false,通过点击按钮改变isShow为true,回到第一个页面后重新进入第二个页面时,为什么isShow还是为false,如何保存isShow为按钮点击后的isShow状态,如何进入时为true
时间: 2024-02-13 19:04:38 浏览: 46
这是因为页面的状态是不会自动保存的。为了保存状态,你可以使用一些方法,如:
1. 使用Redux或其他状态管理工具:将isShow状态保存在Redux或其他状态管理工具中,这样在不同页面之间都可以共享状态。
2. 使用本地存储:在按钮点击后,将isShow状态保存在本地存储中,再次进入页面时,从本地存储中获取isShow状态,然后设置为页面的初始状态。
下面是一个使用本地存储的示例代码:
```javascript
// 在第二个页面的组件中
import React, { useState, useEffect } from 'react';
const SecondPage = () => {
const [isShow, setIsShow] = useState(false);
useEffect(() => {
const storedIsShow = localStorage.getItem('isShow');
if (storedIsShow) {
setIsShow(JSON.parse(storedIsShow));
}
}, []);
const handleButtonClick = () => {
setIsShow(!isShow);
localStorage.setItem('isShow', JSON.stringify(!isShow));
};
return (
<div>
<button onClick={handleButtonClick}>Toggle isShow</button>
{isShow && <div>Some content...</div>}
</div>
);
};
export default SecondPage;
```
这样,在第二个页面中,每次点击按钮时,都会将isShow状态保存到本地存储中。而在第一次加载页面时,会从本地存储中获取已保存的isShow状态,并将其作为页面的初始状态。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)