美文网首页
React入门(八)无状态组件

React入门(八)无状态组件

作者: 我拥抱着我的未来 | 来源:发表于2019-03-20 11:00 被阅读0次

本节知识点

  • (1) 无状态组件和有状态组件的区别
  • (2) 无状态组件的使用

(一)无状态组件和有状态组件的区别

(1)传统组件都会有钩子函数,生命周期函数等等比如

import React, { Component } from 'react'
import store from './store/index'
import * as actions from './store/actions'
import Listdo from './Listdo'
class App extends Component {
  constructor(props) {
    super(props)
    this.state = store.getState()
    store.subscribe(this.changeStore.bind(this))
  }

  render() {
    return (
      <Listdo
        message={this.state.message}
        list={this.state.list}
        changeValue={this.changeValue.bind(this)}
        changeStore={this.changeStore.bind(this)}
        changelist={this.changelist.bind(this)}
        deleteone={this.deleteone.bind(this)}
      />
    )
  }
  componentDidMount() {
    store.dispatch(actions.get_data())
  }
  changeValue(e) {
    let value = e.target.value
    store.dispatch(actions.change_value(value))
  }
  changelist() {
    store.dispatch(actions.change_list())
  }
  changeStore() {
    this.setState(store.getState())
  }
  deleteone(index) {
    store.dispatch(actions.delete_one(index))
  }
}

export default App

(2) 而无状态组件没有这些,因为里面没有逻辑没有方法只有UI展示,所以他不用继承那些个类,只是暴露个方法即可

方法传递都需要通过props

import React, { Fragment } from 'react'
const Todolist = props => {
  return (
    <Fragment>
      <input type="text" value={props.message} onChange={props.changeValue} />
      <button onClick={props.changelist}>提交</button>
      <ul>
        {props.list.map((item, index) => {
          return (
            <li
              key={index}
              onClick={() => {
                props.deleteone(index)
              }}
            >
              <span>第{index}个+++</span>
              <span>{item}</span>
            </li>
          )
        })}
      </ul>
    </Fragment>
  )
}
export default Todolist

(二)无状态组件里面不会执行钩子函数,方法等等。数据,方法必须是父元素传递过来的。

相关文章

  • React入门(八)无状态组件

    本节知识点 (1) 无状态组件和有状态组件的区别 (2) 无状态组件的使用 (一)无状态组件和有状态组件的区别 (...

  • React 进阶二 组件详解

    React组件 React的组件大概分为俩部分,无状态组件和有状态组件 无状态组件。下面React官网中定义的一个...

  • React概念图

    React概念图 React组件生命周期概念图 参考文档:React入门教程 组件生命周期React:组件生命周期...

  • React学习知识小总结

    react依赖: react react-dom babel-preset-react 组件自身状态设置初始状态:...

  • react+redux+router入门总结

    react+redux+router入门总结 目录 构建配置 React组件、css module React R...

  • Rect Native 学习笔记

    React Native 官方文档 React Native 开源社区 【环境、组件、入门、进价等】 JavaSc...

  • React 学习笔记(一)

    笔记参考:阮一峰react入门教程 一、初识React 1.特点 基于组件,组件里面有自己的state,用组件来做...

  • React入门(二)

    三、React组件 React 组件基本上是由组件的构建方式、组件内的状态属性与生命周期方法组成 React.cr...

  • React概念

    React 的核心思想是:封装组件。各个组件维护自己的状态和 UI,当状态变更,自动重新渲染整个组件。 React...

  • react的受控组件和非受控组件

    受控组件就是可以被 react 状态控制的组件在 react 中,Input textarea 等组件默认是非受控...

网友评论

      本文标题:React入门(八)无状态组件

      本文链接:https://www.haomeiwen.com/subject/dwxzmqtx.html