首页
Preview

在 React 中创建一个单词计数器(使用 Hooks)

创建单词计数器,上代码:

import './App.css';

import React, {useEffect, useState} from "react";

export default function App() {
    //文本
    const [text,setText] = useState('')
    //单词数
    const [wordCount,setWordCount] = useState(0)
    //字符数
    const [charCount,setCharCount] = useState(0)

    function changeHandler(e) {
        setText(e.target.value)
    }

    useEffect(() => {
        //单词数组
        const words = text.split(' ');
        //更新字数
        let wordCount = 0
        words.forEach((word) => {
            if (word.trim() !== ''){
                wordCount++
            }
        })
        setWordCount(wordCount)

        //更新字符数
        setCharCount(text.length)

    },[text])
    return (
        <div className='container'>
            <h2>自动计算输入单词数</h2>
            <div>
                <textarea
                    value={text}
                    onChange={changeHandler}
                    placeholder="输入你的暴富想法"
                ></textarea>
                <p>单词个数:{wordCount}</p>
                <p>字数:{charCount}</p>
            </div>
        </div>
    )
}

以上代码,实现了一个可以自动计算输入的单词数和字符数的文本框。

其中,useState用来定义三个状态变量:

  • text表示输入的文本,
  • wordCount表示单词数,
  • charCount表示字符数。

changeHandler函数用来处理文本框内容的变化,将输入的文本存储在text状态变量中。

useEffect函数用来监听text状态变量的变化,当text改变时,将文本按空格分割成单词数组,再遍历数组计算单词数,更新wordCount状态变量;同时,更新charCount状态变量为text的长度。最后,将输入框、单词数和字符数显示在页面上。

版权声明:本文内容由TeHub注册用户自发贡献,版权归原作者所有,TeHub社区不拥有其著作权,亦不承担相应法律责任。 如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

点赞(0)
收藏(0)
Hedy
大家好!我是一位前端开发工程师,拥有6年以上的前端开发经验。我熟练掌握HTML、CSS、JavaScript等语言,能够灵活运用各种前端框架,如Vue、React、Uniapp、Flutter等。我注重理论与实践相结合,能够为学员提供丰富的案例和实践项目,并以生动、易懂的语言为学员讲解前端开发的核心知识和技能。我不仅注重传授技能,更关注学员的职业发展,希望通过我的教学,帮助学员成为一名优秀的前端开发工程师。

评论(0)

添加评论