Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何在react redux中使用connect_Reactjs_Webpack_Ecmascript 2016 - Fatal编程技术网

Reactjs 如何在react redux中使用connect

Reactjs 如何在react redux中使用connect,reactjs,webpack,ecmascript-2016,Reactjs,Webpack,Ecmascript 2016,什么是预设的网页连接到韩德尔装饰 我试图运行webpack,但什么也没发生 /* connect(store) class App extends React.Component{ } */ 要使用connect()您需要定义一个名为mapstatetops的特殊函数,它告诉我们如何将Redux存储状态转换为props。例如,VisibleTodoList需要计算todos以传递给TodoList,因此我们定义了一个函数,该函数根据state.visibilityFilter过滤stat

什么是预设的网页连接到韩德尔装饰 我试图运行webpack,但什么也没发生

/*

connect(store)

class App extends React.Component{

}
*/
要使用
connect()
您需要定义一个名为
mapstatetops
的特殊函数,它告诉我们如何将Redux存储状态转换为props。例如,VisibleTodoList需要计算todos以传递给TodoList,因此我们定义了一个函数,该函数根据state.visibilityFilter过滤state.todos,并在其MapStateTops中使用它:

const getVisibleTodos = (todos, filter) => {
  switch (filter) {
    case 'SHOW_COMPLETED':
      return todos.filter(t => t.completed)
    case 'SHOW_ACTIVE':
      return todos.filter(t => !t.completed)
    case 'SHOW_ALL':
    default:
      return todos
  }
}
 
const mapStateToProps = state => {
  return {
    todos: getVisibleTodos(state.todos, state.visibilityFilter)
  }
}
现在o必须调度操作来读取状态。为此,您可以使用
mapDispatchToProps()
函数,该函数接收
dispatch()
方法并返回要注入组件的回调道具

const mapDispatchToProps = dispatch => {
  return {
    onTodoClick: id => {
      dispatch(toggleTodo(id))
    }
  }
}
最后,通过调用connect()并传递以下两个函数来使用VisibleTodoList:

import { connect } from 'react-redux'
 
const VisibleTodoList = connect(
  mapStateToProps,
  mapDispatchToProps
)(TodoList)
 
export default VisibleTodoList