现在所有代码都写在一个HTML中,在实际项目中应用时,如何进行拆分呢,这样写代码是不是太多了
现在所有代码都写在一个HTML中,在实际项目中应用时,如何进行拆分呢,这样写代码是不是太多了
现在所有代码都写在一个HTML中,在实际项目中应用时,如何进行拆分呢,这样写代码是不是太多了
2019-07-16
首先创建一个新的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();
举报