样式控制

样式控制

静态样式

使用css样式表

// App.js

import "./style/index.css";

function App() {

  return (
    <div className="main">
      Hello world!
    </div>
  );
}

export default App;
/* index.css */

.main{
  color: red,
}

使用JavaScript变量

// App.js

function App() {
  return (
    <div>
      <div style={style.divStyle}>红色字体部分</div>
    </div>
  );
}

const style = {
  // 注意css属性使用小驼峰命名
  divStyle: {
    color: 'red',
  }
}

export default App;

动态样式

使用模版字符串

import { useState } from "react";
import "./style/index.css";

const [colorRed, setColorRed] = useState(false)

function App() {
  return (
    <div>
      <div className={ colorRed ? "red" : "default" }>红色字体部分</div>
    </div>
  );
  // 如果有多个类名:
  return (
    <div>
      <div className={ `default ${ colorRed ? "red" : "blue" } ` }>红色字体部分</div>
    </div>
  );
}

export default App;

使用第三方依赖库

使用classnames:

npm install classnames
# 或者使用yarn
yarn add classnames
import { useState } from "react";
import classNames from "classnames";
import "./style/index.css";

const [colorRed, setColorRed] = useState(false)

function App() {
  return (
    <div>
      <div className={ classNames("default", { colorRed ? "red" : "blue" }) }>红色字体部分</div>
    </div>
  );
}

export default App;