zoukankan      html  css  js  c++  java
  • reactjs(三)怎么动态实现字体颜色的切换

    有两种方式来实现动态切换字体颜色。

    第一种方式

    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="UTF-8" />
        <title></title>
        <script src="https://static.runoob.com/assets/react/react-0.14.7/build/react.min.js"></script>
        <script src="https://static.runoob.com/assets/react/react-0.14.7/build/react-dom.min.js"></script>
        <script src="https://static.runoob.com/assets/react/browser.min.js"></script>
      </head>
      <body>
        <div id="example"></div>
        <script type="text/babel">
          var LikeButton = React.createClass({
            getInitialState: function() {
              return {liked: "yellow"};
            },
            handleClick: function(event) {
              this.setState({liked:"blue"});
            },
            render: function() {
            var text = this.state.liked;
            var style = {
                color:text
            }{/*css样式既可以写在组件内也可以写在组件外*/}
              return (
                <p onClick={this.handleClick} style={style}>{/*这里不能直接用如style={color:"yellow"}这种属性赋予方式*/}
                  点我,点我,点我我就变身。
                </p>
              );
            }
          });
    
          React.render(
            <LikeButton />,
            document.getElementById('example')
          );
        </script>
      </body>
    </html>

    这种方式只能实现点击一次切换样式。


    第二种方式

    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="UTF-8" />
        <title></title>
        <script src="https://static.runoob.com/assets/react/react-0.14.7/build/react.min.js"></script>
        <script src="https://static.runoob.com/assets/react/react-0.14.7/build/react-dom.min.js"></script>
        <script src="https://static.runoob.com/assets/react/browser.min.js"></script>
      </head>
      <body>
        <div id="example"></div>
        <script type="text/babel">
          var LikeButton = React.createClass({
            getInitialState: function() {
              return {liked: false};
            },
            handleClick: function(event) {
              this.setState({liked:!this.state.liked});
            },
            render: function() {
            var text = this.state.liked?"yellow":"blue";
            var style = {
                color:text
            }
              return (
                <p onClick={this.handleClick} style={style}>
                  你我。点我切换状态。
                </p>
              );
            }
          });
    
          React.render(
            <LikeButton />,
            document.getElementById('example')
          );
        </script>
      </body>
    </html>
    

    两者之间没什么多大的区别,主要是第二种运用了三元运算符,实现了点击循环切换的功能。

  • 相关阅读:
    批处理文件双击运行成功,程序调用却运行失败解决方案
    前端安全之加解密种类与HTTPS加密原理(二)
    node包管理nvm与pnpm(一)
    React状态管理—reduxAPI原理分析(三)
    动态规划原理与算法实践(二)
    双指针算法基本原理和实践(一)
    分治算法基本原理和实践(三)
    编程范式(一)
    Java基础
    前端模块化CommonJS、AMD、CMD、ES6模块(二)
  • 原文地址:https://www.cnblogs.com/jiandanshishu/p/12953281.html
Copyright © 2011-2022 走看看