You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React中this.props不符合预期问题求助

嘿,我之前学React的时候也踩过类似的坑!咱们来聊聊为啥你的元音字母没显示不同颜色,以及怎么修复~

首先,大概率是你在React里写样式的方式不对,或者逻辑上有小疏漏。先给你一个能正常工作的完整示例,咱们再拆解关键点:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Styling in React</title>
  <!-- 别忘了引入ReactDOM和Babel,JSX需要Babel转译 -->
  <script src="https://unpkg.com/react@16/umd/react.development.js"></script>
  <script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
  <script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
  <style>
    .letter {
      color: #333; /* 默认的非元音颜色 */
      font-size: 24px;
      margin: 0 4px;
    }
  </style>
</head>
<body>
  <div id="root"></div>

  <script type="text/babel">
    const text = "Hello React World!";
    // 包含大小写的元音集合,避免漏判
    const vowels = ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'];

    const ColoredLetters = () => {
      return (
        <div>
          {/* 拆分字符串为单个字母,遍历渲染 */}
          {text.split('').map((letter, index) => {
            const isVowel = vowels.includes(letter);
            // React的内联样式必须是对象!驼峰命名CSS属性
            const letterStyle = isVowel ? { color: 'crimson' } : {};
            
            // 列表渲染一定要加key属性,用index做临时key(简单场景没问题)
            return (
              <span key={index} className="letter" style={letterStyle}>
                {letter}
              </span>
            );
          })}
        </div>
      );
    };

    ReactDOM.render(<ColoredLetters />, document.getElementById('root'));
  </script>
</body>
</html>

你可能踩的几个坑:

  1. 内联样式写法错误:React里的style属性不能像HTML那样写字符串(比如style="color: red"),必须传一个JavaScript对象,而且CSS属性要改成驼峰命名(比如backgroundColor而不是background-color)。这是最常见的原因!
  2. 漏引必要的脚本:如果用了JSX,必须引入Babel来转译,不然浏览器认不出<ColoredLetters />这种语法;同时别忘了引入react-dom,不然ReactDOM.render会报错。
  3. 元音判断逻辑不全:比如只判断了小写元音,没考虑大写的A/E/I/O/U,导致大写元音没变色。
  4. 列表渲染没加key:虽然这个不会直接导致样式失效,但React会抛出警告,而且可能引发渲染异常,养成加key的好习惯~

如果你的原始代码里有其他细节问题,可以再补充,但按照上面的思路调整,应该就能看到元音字母变颜色啦!

内容的提问来源于stack exchange,提问作者developer2015

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:11:58