text-align 不是有效的 Javascript 标识符,因此您不能将其用作代码中文字表达式的一部分。由于相同的原因,以下所有示例都失败了。
var text-align = 'right';
style.text-align = 'right';
var style = { text-align: 'right' };
虽然用字符串创建属性是有效的。
style['text-align'] = 'right';
// or
var style = { 'text-align': 'right' };
// or
const prop = 'text-align';
const style = { [prop]: 'right' };
但是,这违反了常规的 Javascript 变量命名约定,并迫使您使用访问器表示法编写代码。
您会发现样式元素的原生 API 使用驼峰式表示法来表示样式,而 React 遵循了现有的约定。
// existing style api
document.body.style.textAlign = 'red';
React 支持单位的唯一方法是将它们指定为字符串,因此要使用70%,您需要编写'70%'。
就个人而言,我认为这有点混乱。我最近一直在使用 garden(一种用 Clojure 编写 CSS 的方法),它提供了一些用于指定单位的函数。如果我打算在 React 中使用内联样式,我会很想用 Javascript 重新创建它们。
类似这样的:
import { px, em, percent } from 'units';
var width = 30;
const style = {
height: px(width * 2),
width: px(width),
margin: percent(5)
};
这使您可以将单位保留为数字变量,这意味着您可以对它们进行数学运算,而无需编写任何讨厌的字符串连接代码。