为了账号安全,请及时绑定邮箱和手机立即绑定

现在所有代码都写在一个HTML中,在实际项目中应用时,如何进行拆分呢,这样写代码是不是太多了

现在所有代码都写在一个HTML中,在实际项目中应用时,如何进行拆分呢,这样写代码是不是太多了

正在回答

1 回答

首先创建一个新的React项目

npx create-react-app my-app

在src文件夹下单独建立一个js文件,把每一个组件封装成一个类,

将需要在其他文件引用的类用

export default    类名;

命名导出,进行引用就可以了。

//stateTest.js
import React, { Component } from 'react';
class LightningCounter extends Component {
    constructor(){
        super();
        this.state = {strikes:0};
    }
    getInitialState(){
        return {strikes:0}
    }
    timerTick=()=>{this.setState({strikes:this.state.strikes + 100});}
    componentDidMount=()=>{//组件被浏览器加载之后,没有被调用之前,设置定时器
        setInterval(this.timerTick,1000);}
    render() {
        var counterStyle = {color:"#66FFFF",fontSize:50}
        var count = this.state.strikes.toLocaleString();
        return (<div><h1 style={counterStyle}>{count}</h1></div>)}
  }
  class LightningCounterDisplay extends Component {
      render() {
          var commonStyle = {margin:0,padding:0}
          var divStyle = {width:250,textAlign:"center",backgroundColor:"black",padding:40,color:"#999",fontFamily:"sans-serif",borderRadius:10}
          var textStyle = {emphasis:{fontSize:38,...commonStyle},smallEmpasis:{...commonStyle},small:{fontSize:17,opacity:0.5,...commonStyle}}
          return (
          <div>
              <div style={divStyle}>
              <LightningCounter/>
              <h2 style={textStyle.smallEmpasis}>变更</h2>
              <h2 style={textStyle.smallEmpasis}>地球</h2>
              <p style={textStyle.smallEmpasis}>(加载后)</p>
          </div>
          </div>);}}
  export default LightningCounterDisplay;
  
  
  //index.js
  
  import React,{Component} from 'react';
  import ReactDOM from 'react-dom';
  import * as serviceWorker from './serviceWorker';
  import LightningCounterDisplay from './stateTs';
  ReactDOM.render(
      <div><LightningCounterDisplay /></div>, 
      document.getElementById('root'));
  serviceWorker.unregister();

https://img1.sycdn.imooc.com//5d2ec91e00019a8504610400.jpg

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

现在所有代码都写在一个HTML中,在实际项目中应用时,如何进行拆分呢,这样写代码是不是太多了

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信