#yyds干货盘点# react笔记之学习之state组件

简介: #yyds干货盘点# react笔记之学习之state组件

前言

我是歌谣 我有个兄弟 巅峰的时候排名c站总榜19 叫前端小歌谣 曾经我花了三年的时间创作了他 现在我要用五年的时间超越他 今天又是接近兄弟的一天人生难免坎坷 大不了从头再来 歌谣的意志是永恒的 放弃很容易 但是坚持一定很酷 微信公众号前端小歌谣 关注公众号带你进入前端学习交流群

state简介

import './App.css';
import {useState} from "react";
const App = () => {
  console.log('函数执行了 ---> 组件创建完毕!');
  /*
  * 在React中,当组件渲染完毕后,再修改组件中的变量,不会使组件重新渲染
  *   要使得组件可以收到变量的影响,必须在变量修改后对组件进行重新渲染
  *   这里我们就需要一个特殊变量,当这个变量被修改使,组件会自动重新渲染
  *
  * state相当于一个变量,
  *   只是这个变量在React中进行了注册,
  *   React会监控这个变量的变化,当state发生变化时,会自动触发组件的重新渲染
  *   使得我们的修改可以在页面中呈现出来
  *
  * 在函数组件中,我们需要通过钩子函数,获取state
  *
  * 使用钩子 useState() 来创建state
  *   import {useState} from "react";
  *
  * 它需要一个值作为参数,这个值就是state的初始值
  *   该函数会返回一个数组
  *     数组中第一个元素,是初始值
  *       - 初始值只用来显示数据,直接修改不会触发组件的重新渲染
  *     数组中的第二个元素,是一个函数,通常会命名为setXxx
  *       - 这个函数用来修改state,调用其修改state后会触发组件的重新渲染,
  *           并且使用函数中的值作为新的state值
  *
  *
  *
  *
  * */
  const [counter, setCounter] = useState(1);
  // let counter = result[0];
  // let setCounter = result[1];
  // const [counter, setCounter] = result;
  /*
  *   当点击+时,数字增大
  *   点击-时,数字减少
  * */
  // 创建一个变量存储数字
  // let counter = 2;
  const addHandler = () => {
    // 点击后数字+1
    // alert('+1');
    // counter++;
    setCounter(counter + 1); // 将counter值修改为2
  };
  const lessHandler = () => {
    // 点击后数字-1
    // alert('-1');
    // counter--;
    setCounter(counter-1);
  };
  return <div className={'app'}>
    <h1>{counter}</h1>
    <button onClick={lessHandler}>-</button>
    <button onClick={addHandler}>+</button>
  </div>;
};
// 导出App
export default App;

样式文件

.app{
    width: 300px;
    height: 300px;
    margin: 50px auto;
    background-color: #bfa;
    text-align: center;
}
.app button{
    width: 100px;
    font-size: 50px;
    margin: 0 20px;
}

相关文章
|
4月前
|
缓存 前端开发 JavaScript
React Hooks深度解析与最佳实践:提升函数组件能力的终极指南
🌟蒋星熠Jaxonic,前端探索者。专注React Hooks深度实践,从原理到实战,分享状态管理、性能优化与自定义Hook精髓。助力开发者掌握函数组件的无限可能,共赴技术星辰大海!
React Hooks深度解析与最佳实践:提升函数组件能力的终极指南
|
9月前
|
缓存 前端开发 数据安全/隐私保护
如何使用组合组件和高阶组件实现复杂的 React 应用程序?
如何使用组合组件和高阶组件实现复杂的 React 应用程序?
317 68
|
9月前
|
缓存 前端开发 Java
在 React 中,组合组件和高阶组件在性能方面有何区别?
在 React 中,组合组件和高阶组件在性能方面有何区别?
292 67
|
9月前
|
前端开发 JavaScript 安全
除了高阶组件和render props,还有哪些在 React 中实现代码复用的方法?
除了高阶组件和render props,还有哪些在 React 中实现代码复用的方法?
359 62
|
11月前
|
缓存 前端开发 JavaScript
学习React的最佳实践有哪些?
学习React的最佳实践有哪些?
337 86
|
11月前
|
前端开发 JavaScript
除了使用Route组件,React Router还有其他方式处理404错误页面吗
除了使用Route组件,React Router还有其他方式处理404错误页面吗
295 58
|
11月前
|
前端开发
React 中高阶组件的原理是什么?
React 中高阶组件的原理是什么?
255 57
|
11月前
|
前端开发 开发者
除了函数组件和类组件,React 还有其他创建组件的方式吗?
除了函数组件和类组件,React 还有其他创建组件的方式吗?
205 57
|
11月前
|
前端开发
如何在React Router中定义404错误页面组件?
如何在React Router中定义404错误页面组件?
292 57
|
11月前
|
前端开发
在 React 中使用高阶组件时,如何避免命名冲突?
在 React 中使用高阶组件时,如何避免命名冲突?
267 56