初学react

2019-09-28  本文已影响0人  我爱阿桑

1、主要是src目录下的文件;
index.js文件

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';

引入react 和reactDOM文件,再引入app.js文件,该文件是个组件;
然后讲所有组件通过index.js挂载到public下面的index.html文件上。

如何挂载?

ReactDOM.render(<App />, document.getElementById('root'));

其中app为你的组件,root是在index.html里的一个div的id;

如何写组件呢?

在src下面新建一个js文件,例如App.js(记住要大写)

import  React, {Component}  from 'react'

class App extends Component {
        render(){
              return{
                  <div>测试随大神答案是</div>
  }
}
export default App

注意:return里面和template一样,需要一个最外层的div;
当然也可以不用套div,只需要将div变为Fragment(碎片),在审查元素时,就会有最外层的div了

在组件中如何绑定数据和添加方法

import  React, {Component}  from 'react'

class App extends Component {

       constructor (props){
              super(props)
              this.state={
                   inputValue:'jspang'
                   list:[]
}
}
        render(){
              return{
                 <input   value={this.state.inputValue}  onChange={this.inputChange.bind(this)}/>
  }

   inputChange(e){
              this.setState({
                   inputValue:e.target.value
})
}
}
export default App


注意:其中数据绑定时,需要使用大括号(只要是使用js,就需要使用大括号),其中onChange后面的bind(this),是用来在下面的方法里的指向问题

如何使用循环

利用上面的List;
render(){
     retrun {
            <div>{
                     this.state.list.map(  (item ,index) =>{
                        return  <div key={index+item}>{item}</div>
                       })
            </div>
               }
           }

注意事项

比如说想要删除list的某个项
不能直接操作 this.state.list.splice(index,1)
而是要写 let list = this.state.list
list.splice(index,1)
然后再
this.setState({
list:list
})

不然会出问题,而且找不到

上一篇下一篇

猜你喜欢

热点阅读