We want to hear from you!Take our 2020 Community Survey!

Styling and CSS

如何在 Component 中加入 CSS Class?

把字串以 prop className 傳入:

render() {
  return <span className="menu navigation-menu">Menu</span>
}

CSS class 常會依賴 component prop 或 state:

render() {
  let className = 'menu';
  if (this.props.isActive) {
    className += ' menu-active';
  }
  return <span className={className}>Menu</span>
}

小技巧

如果你發現你常寫類似的程式碼,可使用 classnames 函式庫簡化。

可以使用 inline style 嗎?

可以,請見 此處 文件關於 styling 部分。

inline styles 不好嗎?

CSS class 通常比 inline style 效能更好。

CSS-in-JS 是什麼?

「CSS-in-JS」指的是使用 JavaScript 組成 CSS 而非將其定義於外部檔案的一種模式。

請注意此功能為第三方函式庫所提供,並非 React 的一部份。 React 對 style 是如何定義並無意見。若有疑問,照常地將你的 style 定義於另一個 *.css 檔案中然後使用 className 去引用會是個好的開始。

我可以在 React 中做動畫嗎?

React 可以支援動畫。範例請見 React Transition GroupReact MotionReact Spring

Is this page useful?Edit this page