注意

    1. 自定义的组件都必须要用大写字母开头,普通的 HTML 标签都用小写字母开头。
    2. 必须有返回值,而且返回值必须是JSX elements

    第二种组件的创建方式 ES6类

    1. class App extends React.Component{
    2. render(){
    3. return (
    4. <div>
    5. App
    6. </div>
    7. )
    8. }
    9. }
    10. export default App
    1. //插入css外部样式:
    2. import './App.css'
    3. //行内样式
    4. <h1 style={}>我是H1</h1>
    5. //行内样式的时候,样式写成对象的模式,对象是js语言所以用大括号包裹
    6. //1.{ backgroundColor:'teal', fontSize:'20px' }
    7. //2.写成一个方法,返回一个对象
    8. //3.声明一个对象
    9. //4.只要样式写为对象的方式
    10. styles(){
    11. return({
    12. box:{
    13. background:'green'
    14. };
    15. })
    16. }
    17. <h1 style={this.styles.box}>我是H1</h1>
    18. let styles={
    19. h1:{
    20. backgroundColor:'teal'
    21. },
    22. div:{
    23. width:'100vw',
    24. height:'200px'
    25. }
    26. <h1 style={styles.h1}>我也是H1</h1>

    当作变量导入

    子组件

    1. import React from 'react'
    2. import Header from './Header'
    3. import Main from './Main'
    4. import Footer from './Footer'
    5. class App extends React.Component{
    6. render(){
    7. return(
    8. <div className='App'>
    9. <Header />
    10. <Main />
    11. <Footer />
    12. </div>
    13. )
    14. }
    15. }
    16. export default App
    1. import React from 'react';
    2. import ReactDOM from 'react-dom';
    3. class Title extends React.Component {
    4. render(){
    5. return (
    6. <h1>React</h1>
    7. )
    8. }
    9. }
    10. class Header extends Component {
    11. render () {
    12. <div>
    13. <Title />
    14. <h2>This is Header</h2>
    15. )
    16. }
    17. }
    18. class Main extends Component {
    19. render () {
    20. return (
    21. <div>
    22. <h2>This is main content</h2>
    23. </div>
    24. )
    25. }
    26. }
    27. class Footer extends Component {
    28. render () {
    29. return (
    30. <div>
    31. <h2>This is footer</h2>
    32. </div>
    33. )
    34. }
    35. }
    36. class Index extends Component {
    37. render () {
    38. return (
    39. <div>
    40. <Header />
    41. <Main />
    42. <Footer />
    43. </div>
    44. )
    45. }
    46. }
    47. ReactDOM.render(<Index />,document.getElementById('root'))

    组件可以和组件组合在一起,组件内部可以使用别的组件。就像普通的 HTML 标签一样使用就可以。这样的组合嵌套,最后构成一个所谓的组件树。