React实现字符串首字母大写、翻转字符串、获取用户选定的文本

news/2024/7/15 19:00:08 标签: react.js, javascript, 前端

目录

  • React实现字符串首字母大写
  • React实现翻转字符串
  • React获取用户选定的文本


React实现字符串首字母大写

请添加图片描述

import React, { useState } from 'react'

function App() {
  const [inputText, setInputText] = useState('')
  const [outputText, setOutputText] = useState('')

  const handleInputChange = e => {
    setInputText(e.target.value)
  }

  const handleButtonClick = () => {
    const capitalizedText = inputText.charAt(0).toUpperCase() + inputText.slice(1)
    setOutputText(capitalizedText)
  }

  return (
    <div>
      <input type="text" value={inputText} onChange={handleInputChange} />
      <button onClick={handleButtonClick}>转换</button>
      <p>结果: {outputText}</p>
    </div>
  )
}

export default App

在这个React的案例中,我们首先导入了React和useState钩子函数。

然后,我们定义了一个函数组件App,它包含了两个状态变量inputTextoutputText,分别用于存储输入文本和输出文本。

我们使用useState钩子函数来创建这两个状态变量,并通过数组解构赋值的方式获取它们的当前值和更新函数。

接下来,我们定义了两个事件处理函数:

  • handleInputChange函数用于处理输入框的变化事件,将输入的文本更新到inputText状态变量中。
  • handleButtonClick函数用于处理按钮的点击事件,将输入文本的首字母大写后的结果更新到outputText状态变量中。

在组件的返回部分,我们渲染了一个输入框、一个按钮和一个用于显示输出文本的段落。

  • 输入框通过value属性和onChange事件绑定到inputText状态变量,实现双向数据绑定。
  • 按钮的点击事件绑定到handleButtonClick函数。
  • 输出文本通过outputText状态变量进行显示。

当用户在输入框中输入文本并点击按钮时,首字母大写的结果将显示在输出段落中。

这个案例的实现思路是,通过事件处理函数获取用户输入的文本,并使用JavaScript的字符串方法charAtslice来将首字母大写。然后,将首字母大写后的结果更新到输出文本的状态变量中,从而实现字符串首字母大写的效果。

用户输入的文本将在输出段落中以首字母大写的形式显示出来。

React实现翻转字符串

请添加图片描述

import React, { useState } from 'react'

function App() {
  const [inputText, setInputText] = useState('')
  const [reversedText, setReversedText] = useState('')

  const handleInputChange = e => {
    setInputText(e.target.value)
  }

  const handleButtonClick = () => {
    const reversed = inputText.split('').reverse().join('')
    setReversedText(reversed)
  }

  return (
    <div>
      <input type="text" value={inputText} onChange={handleInputChange} />
      <button onClick={handleButtonClick}>翻转</button>
      <p>结果: {reversedText}</p>
    </div>
  )
}

export default App

在这个React的案例中,我们同样首先导入了React和useState钩子函数。

然后,我们定义了一个函数组件App,它包含了两个状态变量inputTextreversedText,分别用于存储输入文本和翻转后的文本。

我们使用useState钩子函数来创建这两个状态变量,并通过数组解构赋值的方式获取它们的当前值和更新函数。

接下来,我们定义了两个事件处理函数:

  • handleInputChange函数用于处理输入框的变化事件,将输入的文本更新到inputText状态变量中。
  • handleButtonClick函数用于处理按钮的点击事件,将输入文本翻转后的结果更新到reversedText状态变量中。

在组件的返回部分,我们渲染了一个输入框、一个按钮和一个用于显示翻转后文本的段落。

  • 输入框通过value属性和onChange事件绑定到inputText状态变量,实现双向数据绑定。
  • 按钮的点击事件绑定到handleButtonClick函数。
  • 翻转后的文本通过reversedText状态变量进行显示。

当用户在输入框中输入文本并点击按钮时,翻转后的结果将显示在输出段落中。

这个案例的实现思路是,通过事件处理函数获取用户输入的文本,并使用JavaScript的字符串方法splitreversejoin来实现字符串的翻转。然后,将翻转后的结果更新到输出文本的状态变量中,从而实现字符串翻转的效果。

用户输入的文本将在输出段落中以翻转后的形式显示出来。

React获取用户选定的文本

请添加图片描述

import React, { useRef } from 'react'

function App() {
  const textRef = useRef(null)

  const handleSelection = () => {
    const selectedText = window.getSelection().toString()
    alert(`选定的文字: ${selectedText}`)
  }

  return (
    <div>
      <p ref={textRef}>思维决定行为,行为决定结果,结果决定位置,位置又决定了眼界、思维、资源、认知一样,一切兼为因果循环关系。</p>
      <button onClick={handleSelection}>选定文字</button>
    </div>
  )
}

export default App

在这个React的案例中,我们首先导入了React和useRef钩子函数。

然后,我们定义了一个函数组件App,它包含了一个textRef引用,用于引用需要获取选定文本的元素。

我们使用useRef钩子函数来创建textRef引用。

接下来,我们定义了一个事件处理函数handleSelection,用于获取用户选定的文本。

在组件的返回部分,我们渲染了一个段落和一个按钮。

  • 段落通过ref属性绑定到textRef引用,使得我们可以在事件处理函数中获取到该元素。
  • 按钮的点击事件绑定到handleSelection函数。

当用户在段落中选定一段文本并点击按钮时,我们通过window.getSelection()方法获取用户选定的文本,并将其弹出显示在一个警告框中。

这个案例的实现思路是,通过使用ref属性将需要获取选定文本的元素与textRef引用关联起来。然后,在事件处理函数中,通过window.getSelection()方法获取用户选定的文本,并进行后续处理,例如弹出警告框显示选定的文本。

当用户在段落中选定文本并点击按钮时,将弹出一个警告框显示用户选定的文本。

持续学习总结记录中,回顾一下上面的内容:
React实现字符串首字母大写、翻转字符串、获取用户选定的文本的方法?


http://www.niftyadmin.cn/n/5343728.html

相关文章

优橙内推专场—远程交付篇

可加入就业QQ群&#xff1a;801549240 联系老师内推简历投递邮箱&#xff1a;hrictyc.com 内推地区1&#xff1a;浙江明讯网络技术有限公司 内推地区2&#xff1a;杭州华星博鸿通信技术有限公司 内推地区3&#xff1a;深圳市志威创联实业有限公司 浙江明讯网络技术有限公司…

GET基于报错的sql注入利用-脱库

导语 SQL注入攻击的"脱库"是指攻击者通过利用应用程序对用户输入的不完全过滤或验证,成功地绕过数据库安全机制并获取敏感数据的过程。 当应用程序没有正确地对用户输入进行验证或过滤时,攻击者可以通过在恶意输入中插入SQL代码,改变原始SQL查询的意义和行为。这…

Qt —— 编写Windows截图软件(附源码)

示例效果 源码1 #include "maskwidget.h" #include "qapplication.h"MaskWidget *MaskWidg

微信小程序之全局配置-window和tabBar

学习的最大理由是想摆脱平庸&#xff0c;早一天就多一份人生的精彩&#xff1b;迟一天就多一天平庸的困扰。各位小伙伴&#xff0c;如果您&#xff1a; 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持&#xff0c;想组团高效学习… 想写博客但无从下手&#xff0c;急需…

java数据结构与算法刷题-----LeetCode287. 寻找重复数

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 解题思路 弗洛伊德判圈法&#xff0c;也就是快慢指针判圈法&#xff08;龟…

Webpack打包简单的js文件

初始化一个新的npm 步骤一&#xff1a; 初始化npm项目&#xff0c;创建一个package.json文件 npm init -y 步骤二&#xff1a; 添加打包脚本&#xff1a;在scripts部分添加一个命令来运行webpack "scripts": {"build": "webpack --config webpa…

类和对象(友元、运算符重载、继承、多态)---C++

类和对象 4.友元4.1全局函数做友元4.2类做友元4.3成员函数做友元 5.运算符重载5.1 加号运算符重载5.1.1成员函数实现运算符重载5.1.2全局函数实现运算符重载 5.2 左移运算符重载5.2.1全局函数实现运算符重载5.2.2成员函数实现运算符重载 5.3 递增/递减运算符重载5.3.1 前置5.3.…

MVC 和 MVVM的区别

MVC&#xff1a; M&#xff08;model数据&#xff09;、V&#xff08;view视图&#xff09;&#xff0c;C&#xff08;controlle控制器&#xff09; 缺点是前后端无法独立开发&#xff0c;必须等后端接口做好了才可以往下走&#xff1b; 前端没有自己的数据中心&#xff0c;太…