紅糖糍粑
2019-03-20 21:19:39
學(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è)小問(wèn)題是components和containers到底啥區(qū)別呀--------------------補(bǔ)充----------------------我看他的容器也是這樣定義組件的,那他是不是也是沒(méi)有生命周期的組件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)是啥意思
1 回答

一只甜甜圈
TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超5個(gè)贊
1.這就是函數(shù)式組件,沒(méi)有生命周期的純組件,繼承components的組件有生命周期和內(nèi)部的state
2.components和containers都是react的組件,只不過(guò)這里的components一般指純組件,就是沒(méi)有內(nèi)部state。頁(yè)面展示的數(shù)據(jù)都是來(lái)源于父組件,也就是containers組件,containers會(huì)處理復(fù)雜的邏輯和數(shù)據(jù)處理,通過(guò)props把數(shù)據(jù)傳遞給子組件。一個(gè)簡(jiǎn)單的例子。一個(gè)展示todolist的組件的containers負(fù)責(zé)通過(guò)ajax拿到todolist。傳遞給純展示的components組件
添加回答
舉報(bào)
0/150
提交
取消