React基础(肆)———状态和循环渲染

2023-11-08

一、状态

什么是状态

在这里插入图片描述

import React, { Component } from "react";

export default class App extends Component {
  state = {
    mytext: "收藏",
    myShow: true,
  };

  render() {
    return (
      <div>
        <h1>状态学习调试</h1>
        <button
          onClick={() => {
            this.setState({
              //   mytext: "取消收藏",
              myShow: !this.state.myShow,
            });

            if (this.state.myShow) {
              console.log("收藏的逻辑");
            } else {
              console.log("取消收藏的逻辑");
            }
          }}
        >
          {this.state.myShow ? "收藏" : "取消收藏"}
        </button>
      </div>
    );
  }
}

另一种写法:构造函数—快捷键 rcs

export default class App extends Component {
  constructor(props) {
    super(props);

    this.state = {
      mytext: "收藏",
      myShow: true,
      myname: true,
    };
  }

  render() {

二、循环渲染

.map()映射

import React, { Component } from "react";

export default class App extends Component {
  constructor(props) {
    super(props);

    this.state = {
      list: ["111", "222", "333"],
    };
  }

  render() {
    
    return (
      <div>
        <ul>
          {this.state.list.map((item) => {
            return <li key={item}>{item}</li>;
          })}
        </ul>
      </div>
    );
  }
}

加Key的原因

为了列表的复用和重排
在这里插入图片描述
避免key值相同的改法:
更改接受的数据

import React, { Component } from "react";

export default class App extends Component {
  constructor(props) {
    super(props);

    this.state = {
      //   list: ["111", "222", "333"],
      list: [
        {
          id: 1,
          text: "1111",
        },
        {
          id: 2,
          text: "2222",
        },
      ],
    };
  }

  render() {
    return (
      <div>
        <ul>
          {this.state.list.map((item) => {
            return <li key={item.id}>{item.text}</li>;
          })}
        </ul>
      </div>
    );
  }
}

三级标题

四级标题

五级标题
六级标题
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

React基础(肆)———状态和循环渲染 的相关文章

  • 单击量角器中元素的给定坐标

    我想点击我的特定位置canvas元素 所以我编写了以下量角器代码 var canvas element by id canvas var clickCanvas function toRight toBottom browser actio
  • 如何将元素的每个单词包装在span标签中?

    div date contents filter function return this nodeType 1 wrap span span 我是新手 认为代码可以解决问题 但它将所有内容都包含在 span 像这样 div class d
  • 标点符号加载“动画”,javascript?

    我正在寻找一种好方法来显示一些标点符号加载 动画 我想要的是这样的 This will display at second 1 Waiting for your input This will display at second 2 Wai
  • Azure无法访问React Web应用程序中的env变量

    几年前我看到有一个类似的问题 但超链接答案已被微软关闭 我有一个使用 create react app 创建的 React 应用程序 它已经部署到heroku并加载一些环境变量来访问谷歌地图等 这一切对于heroku来说都工作得很好 我已经
  • 从 JavaScript 将参数传递给 p:remoteCommand

    我想将值传递给remoteCommand来自 JavaScript 如果这是可能的 我该如何做到这一点以及如何在支持 bean 中接收它们 对的 这是可能的 如何执行此操作取决于 PrimeFaces 版本 你可以在PrimeFaces 用
  • Angular - Safari 无法正确显示 DOM

    我是 Angular 的新手 使用 Angular 4 我尝试通过在关联的组件类文件中设置属性来更新特定元素 但是 除非我尝试强制重新绘制网页 通过调整窗口大小等 否则页面不会更新 我打开检查器 看到 DOM 已更改 但显示与元素检查器中的
  • JavaScript 逻辑赋值是如何工作的?

    在 javascript 中 如果我们有一些代码 例如 var a one var b q a alert b 逻辑 OR 运算符会将 a 的值分配给 b 并且警报将为 一 这仅限于作业还是我们可以在任何地方使用它 似乎空字符串被视为与未定
  • Backbone.js 与 Google 地图 - 有关此问题和侦听器的问题

    我有一个为 Google Maps v3 创建的模块 我正在尝试将其转换为 Backbone js 视图构造函数 到目前为止 这是我的视图模块 我将解释代码后遇到的问题 pg views CreateMap Backbone View ex
  • 如何在WebBrowser控件中注入Javascript?

    我试过这个 string newScript textBox1 Text HtmlElement head browserCtrl Document GetElementsByTagName head 0 HtmlElement scrip
  • json、rails、javascript 中的解析错误

    我需要将 ruby 数组放入 javascript 数组中 但出现解析错误 var characters 这就是我将 ruby 嵌入到内联 javascript 中的方式 但它出现了解析错误 我应该如何将此 ruby 数组放入 javasc
  • 动态地将 .on() 方法与事件映射绑定

    我使用此语法来确保事件绑定动态添加li元素 ul list on click li function do something 我尝试使用这样的事件映射来存档相同的内容 ul list hammer css hacks false on s
  • Material.Angular.io mat-autocomplete [displayWith] 函数更新范围变量

    我遇到了一个问题 我可以在实例化 mat autocomplete 的组件控制器中访问本地声明的变量 我面临的问题是局部变量被困在这个范围内 我无法更新它们 有关更新 mat autocomplete 范围变量的任何想法或想法 最终我要做的
  • select 元素是否具有标准值属性?

    这是一个简单的问题 但我找不到任何参考资料 所以就在这里 假设我有一个选择元素
  • 替换打字稿中字符串中字符的所有实例?

    我正在尝试用 x 字符替换电子邮件中的所有句号 例如 电子邮件受保护 cdn cgi l email protection 将变为 myxemail emailxcom 电子邮件设置为字符串 我的问题是它不只是替换句号 而是替换每个字符 所
  • 在部分渲染时执行 JavaScript

    我有一些 JavaScript 代码 我想在用户单击其文件夹之一后执行 它会触发 show 操作和 show js erb 从而呈 现部分内容 Show js erb 当用户单击其文件夹之一时触发 如下所示 body append 它成功注
  • React TypeError:x 不是函数

    我在子组件中从父组件调用函数 booksRefresh 但出现错误 类型错误 booksRefresh 不是函数 我不知道为什么 因为 booksRefresh 是一个函数 有人可以帮我解释为什么会出现这个错误吗 这是我的代码 import
  • 在 React JSX 中返回配对元素

    问题 在 React 中 您希望通过映射数组来创建 DOM 结构 但数组中的每个项目应返回 2 个元素 例如 import React from react import from lodash let Component React ex
  • 如何用时刻找到与给定时间最接近的时间?

    所以我有一个简单的代码 一个工作代码 它使用 moment 获取最接近给定时间的时间 Current time in millis const now moment 10 16 HH mm format x List of times co
  • 如何设置javascript对象数组中所有对象的特定属性值(lodash)

    我有以下对象数组 var arr id a1 guid sdfsfd value abc status active id a2 guid sdfsfd value def status inactive id a2 guid sdfsfd
  • 允许 iframe 跨域链接到目标父框架

    我有 2 个域 域 1 上的一个页面使用 iframe 加载域 2 中的内容 如何允许来自domain2 iframe 内 的链接在domain1 的完整父框架中打开 我一直在关注IE和w3c的新沙箱属性 http www w3 org T

随机推荐

  • linux系统数据盘挂载

    前言 挂载前 最好是新的服务器 不要安装宝塔 我之前先安装宝塔 再挂载就有点费劲 需要考虑原来文件是否受损 当前教程属于新服务器下 先挂载数据盘 挂载步骤 查看磁盘信息 gt gt 将数据盘分区 gt gt 格式化数据盘 gt gt 创建一
  • Python怎么输出换行

    python怎样输出换行 Python怎么输出换行 0 摘要 由于特殊的输出要求 我们在使用print 函数时 不希望输出结束后自动换行 1 print 指定结束符 Print hello end Print world result he
  • Linux------网络基础1

    文章目录 计算机网络的发展历程 网络协议 计算机网络分层体系结构 局域网通信的原理 IP地址和 MAC地址的区别 TCP IP体系结构 计算机网络的发展历程 简单的了解一下就行 图就不提供了 1 最开始 计算机之间是相互独立的 不能沟通交流
  • python3.6 安装pyltp

    当时安装pyltp一直报错 缺少balabala 安装了都没有什么暖用 so成功后安利一下 1 安装wheel 下面两个文件针对不同的python版本下载一个即可 pyltp 0 2 1 cp35 cp35m win amd64 whl p
  • 2021年7月,关于技术和未来

    近期研究了一段时间梅花易数 作为一个从小接受唯物主义教育的社会主义接班人 自然曾经一度对这些所谓的封建迷信是不屑一顾的 后来随着年龄增长 才开始慢慢觉得应对这些传承下来的古老文化保持敬畏 然而 直到最近真正仔细研究了后才发现 梅花易数居然有
  • k8s 之 volume sc pv pvc 详解

    数据卷概述 Kubernetes Volume 数据卷 主要解决了如下两方面问题 数据持久性 通常情况下 容器运行起来之后 写入到其文件系统的文件暂时性的 当容器崩溃后 kubelet将会重启该容器 此时原容器运行后写入的文件将丢失 因为容
  • PWM移相

    PWM移相可以从两方面考虑 1 如果能够移动时基 那么移动时基是一种最简便的方法 2 如果没办法移动时基 那么改变比较值也是一种可行的办法 C2000系列DSP的ePWM模块对PWM移相有相关的应用说明 如下图所示 来源于2803x芯片手册
  • Qt实现跨窗口信号槽通信

    多窗口通信 如果是窗口类对象之间互相包含 则可以直接开放public接口调用 不过 很多情况下主窗口和子窗口之间要做到异步消息通信 就必须依赖到跨窗口的信号槽 以下是一个简单的示例 母窗口 mainwindow h ifndef MAINW
  • L1-7 前世档案

    L1 7 前世档案 网络世界中时常会遇到这类滑稽的算命小程序 实现原理很简单 随便设计几个问题 根据玩家对每个问题的回答选择一条判断树中的路径 如下图所示 结论就是路径终点对应的那个结点 现在我们把结论从左到右顺序编号 编号从 1 开始 这
  • 单机 steam_好玩不贵,一个人可以玩很久,steam百元单机游戏推荐

    steam市场上的游戏有琳琅满目 从一块钱到几百块的游戏充斥在市场中 如何在众多游戏中挑选自己喜欢适合的游戏呢 今天就来推荐一下2款百元左右的单机游戏 包你满意 1 缺氧 目前steam售价 本体58元 本体 7DLC Klei survi
  • 线性方程组解的分析:唯一解,无穷多解以及无解

    本文将总结关于线性方程组解的知识点 线性方程组 定义1 线性方程组 我们将形如下式的方程组称为线性方程组 a11x1 a12x2 a1nxn b1a21x1 a22x2 a2nxn b2 am1x1 am2x2 amnxn bm 9 9 a
  • window10配置OpenGL ES3.0

    1 下载书籍源码 地址 GitHub danginsburg opengles3 book OpenGL ES 3 0 Programming Guide Sample Code 2 下载mali opengl es模拟器 下载地址 建议下
  • allegro如何通过dra文件生产psm文件

    1 dra文件是可以用allegro打开的封装文件 但是要想被pcb调用 需要psm文件才可以 想要通过dra生成psm文件很简单
  • @ComponentScan注解进行扫描的几种方式。

    方式一 扫描包 返回是String的数组 所以可是多个包路径 也可是一个包路径 完整写法是 单个 ComponentScan basePackages xxx 多个 ComponentScan basePackages xxx aaa 注意
  • 2020美赛F奖论文(一):摘要、绪论和模型准备

    全文 2020美赛F奖论文 一 摘要 绪论和模型准备 2020美赛F奖论文 二 传球网络模型 PNM 的建立和影响因子分析 2020美赛F奖论文 三 足球团队指标和基于机器学习的球队表现预测 2020美赛F奖论文 四 模拟退火算法驱动的结构
  • 神经网络七:神经网络设置层的数量和尺寸

    本文就现在神经网络中层的数量和尺寸 分析其中的优缺点 在此特声明 本文的内容是来自 CS231n课程笔记翻译 神经网络笔记1 下 智能单元 知乎专栏 因本人有时会查阅这些相关的知识点 一直翻文档比较麻烦 特从文档中摘录复制写到博客中 其中的
  • Mac M1系统 miniconda安装、配置conda环境,及在conda环境中安装激活QIIME2

    Mac M1系统 miniconda安装 配置conda环境 及在conda环境中安装激活QIIME2 1 适配版本的miniconda软件安装包下载 windows MAC LINUX Miniconda Conda documentat
  • JavaScript——将json数组填充进excel表并下载保存

    今天遇到的一个问题就是 获取到猫眼电影票房总榜的数据后 怎么把他们填充进excel中 本文参考了另一篇博客 地址如下 https blog csdn net qq 34623560 article details 79928248 本文对其
  • flowable(九) 通过ui部署流程图

    下载xml模型 登陆到flowable modeler后台 上传部署 登陆flowable admin地址 ok
  • React基础(肆)———状态和循环渲染

    一 状态 什么是状态 import React Component from react export default class App extends Component state mytext 收藏 myShow true rend