首页 > 其他分享 >react hook入门

react hook入门

时间:2022-09-06 15:33:21浏览次数:139  
标签:const 入门 title text react hook state searchTerm return

useState的使用

 

 代码

const Search = (props: any) => {
  // useState() 采用一个初始 state 作为参数,也可以像这样使用一个空字符串。
  // 使用 state 进行交互,别忘了 import React:
  // 同时它会返回包含两个值的数组,第一个值 searchTerm 表示当前 state;第二个值 setSearchTerm 是 state 的更新函数。
  const [searchTerm, setSearchTerm] = React.useState("");
  const handleChange = (e: any) => {
    const text = e.target.value
    setSearchTerm(text);
  }
  return (
    <>

      <input type="text" onChange={handleChange} />
      <p>
        {searchTerm}
      </p>

    </>
  );
}

 

下游的组件要使用 state,可以将其作为 props 传递;如果下游组件要更新 state,可以向下传递一个回调处理函数。

function App() {
  const [searchTerm, setSearchTerm] = React.useState("");
  const list = [
    {
      title: "1",
      context: "内容1"
    },
    {
      title: "2",
      context: "内容2"
    },
    {
      title: "12",
      context: "内容12"
    }
  ]
  const listData = list.filter(item => {
   return item.title.toLowerCase().includes(searchTerm.toLowerCase())
  })

  const handleSearch = (text: string) => {
    setSearchTerm(text);
  }
  return (
    <div className="App">
      <header className="App-header">

         <Search onSearch={handleSearch} text={searchTerm}></Search>
        <ul>
          {
            listData.map((item) => {
              return <li>{item.title}/<b>{item.context}</b></li>
            }
            )
          }

        </ul>
      </header>
    </div>
  );
}

const Search = (props: any) => {
  const handleChange = (e: any) => {
    const text = e.target.value
    props.onSearch(text)//调上游传递的方法
  }
  return (
    <>

      <input type="text" onChange={handleChange} />
      <p>
        {props.text}
      </p>

    </>
  );
}

 

标签:const,入门,title,text,react,hook,state,searchTerm,return
From: https://www.cnblogs.com/GoTing/p/16661992.html

相关文章

  • Docker入门之简单操作
    目录1Docker启动容器1.1基于镜像新建容器并启动1.1.1拓展知识:执行dockerrun后,Docker都干了些啥1.1.2以daemon守护态方式运行容器1.2启动终止状态的容器2Docker查......
  • 2022年值得推荐的五大React Native UI库
    2022年值得推荐的五大ReactNativeUI库51CTO2022-04-2411:02北京北京无忧创想信息技术有限公司关注 译者:布加迪  科技巨头之一Facebook在2015......
  • 2023年值得推荐的五大React Native UI库
    2022年值得推荐的五大ReactNativeUI库译者|布加迪科技巨头之一Facebook在2015年创建并管理ReactNative这套应用程序开发框架,以帮助开发人员构建具有原生外观感觉......
  • React Hooks { useState, useEffect }
    ReactHooks{useState,useEffect}使用状态UseState钩子是在React16.8中引入的。它允许您跟踪状态功能组件。你可能会问自己什么状态?好吧,状态通常是指组件中的动......
  • 使用 React 样式的组件设置容器样式
    使用React样式的组件设置容器样式首先,呼救声。您是否曾经尝试在两个类似的项目中使用相同的代码,并且在一个工作而一个没有工作时感到困惑?如果没有,我希望你晚上睡个好觉......
  • 声明式HTTP客户端-Feign 使用入门详解
    什么是OpenFeignOpenFeign(以下统一简称为Feign)是Netflix开源的声明式HTTP客户端,集成了Ribbon的负载均衡、轮询算法和RestTemplate的HTTP调用等特性,并对其......
  • 你需要了解多少 Javascript 才能开始使用 React?
    你需要了解多少Javascript才能开始使用React?1.Javascript基础一个。使用var、let和const进行变量声明湾。算术、比较、逻辑运算符C。条件块和循环:if、for、f......
  • 如何将 Figma 设计转换为 React 代码:分步指南⚛️
    如何将Figma设计转换为React代码:分步指南⚛️你想加速你的React.js应用程序开发吗?正是通过自动将您的设计转换为React组件!如果是,DhiWiseWeb应用程序构建器可以......
  • React 应用程序中的简单路由
    React应用程序中的简单路由一个简单的、可扩展的路由解决方案可以满足您的应用程序的所有需求,而不会引入像React-Router这样的工具所提供的复杂性。进入:浏览器的窗......
  • Java Servlet 入门: 问题系列:No compiler is provided in this environment. Perhaps y
    问题:用Maven编绎运行时,如果系统引用的JRE运行库,而不是JDK开发运行库,则会抛异常。 解决:在eclipse的菜单中,进入Window>Preferences>Java>InstalledJREs->Add......