我是React的新手,到目前为止,我理解React jsx中的className可以是对导入css文件中定义的html类的引用。像下面示例中的classname=“warning”
,它使文本显示红色,而不是默认的黑色。
但我也看到,在许多教程示例中,像
这样的元素出现在render()函数的顶部。这通常不会引用导入的css文件中的任何内容,但即使示例中根本没有导入的css文件,它也经常会出现。
实际上,我发现,如果只使用 应用程序JS app.css
这样的元素是做什么的,它们是用来做什么的呢?import React, { Component } from 'react';
import './App.css';
class App extends Component {
render() {
return (
<div className="App">
<h1 className="warning">Wakeup World!</h1>
</div>
)
}
}
export default App;
.warning {
color: red
}
我相信这只是一个惯例,它不涉及React的内部渲染逻辑或类似的东西。
为了回答您关于它们为什么会出现的问题,我们需要对HTML
或body
进行更具体的全局样式更改。同样,一个你可以随意忽略的约定。
来源:https://reactjs.org/docs/rendering-elements.html及相关文档
由于React没有正式的命名约定,所以没有任何正式文档说明第一个元素必须是包含类 我猜这已经成了某种潜规则了。 甚至Facebooks create-react-app也使用 然而,React的井字游戏教程并没有使用
的目的不是别的,而是使用app
作为类呈现app
的app
作为第一个元素。(资料来源)app
作为第一个元素,而是使用
,这样会更有意义。