在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ react聲明組件

react聲明組件

學(xué)redux的時(shí)候看到文檔是這樣聲明組件的,難道不是要繼承Component嗎

import React from 'react'
import Footer from './Footer'
import AddTodo from '../containers/AddTodo'
import VisibleTodoList from '../containers/VisibleTodoList'

const App = () => (
  <div>
    <AddTodo />
    <VisibleTodoList />
    <Footer />
  </div>
)

export default App

還有一個(gè)小問題是components和containers到底啥區(qū)別呀

--------------------補(bǔ)充----------------------
我看他的容器也是這樣定義組件的,那他是不是也是沒有生命周期的組件

import React from 'react'
import { connect } from 'react-redux'
import { addTodo } from '../actions'

const AddTodo = ({ dispatch }) => {
  let input

  return (
    <div>
      <form onSubmit={e => {
        e.preventDefault()
        if (!input.value.trim()) {
          return
        }
        dispatch(addTodo(input.value))
        input.value = ''
      }}>
        <input ref={node => input = node} />
        <button type="submit">
          Add Todo
        </button>
      </form>
    </div>
  )
}

export default connect()(AddTodo)

然后他的
export default connect()(AddTodo)
是啥意思

回答
編輯回答
網(wǎng)妓

1.這就是函數(shù)式組件,沒有生命周期的純組件,繼承components的組件有生命周期和內(nèi)部的state
2.components和containers都是react的組件,只不過這里的components一般指純組件,就是沒有內(nèi)部state。頁面展示的數(shù)據(jù)都是來源于父組件,也就是containers組件,containers會處理復(fù)雜的邏輯和數(shù)據(jù)處理,通過props把數(shù)據(jù)傳遞給子組件。一個(gè)簡單的例子。一個(gè)展示todolist的組件的containers負(fù)責(zé)通過ajax拿到todolist。傳遞給純展示的components組件

2017年1月22日 09:46