我正在研究反应,我有一个这样的例子
//index.js const store = createStore(reducer) render( <Provider store={store}> <AddTodo /> </Provider>,document.getElementById('root') ) //Apptodo.js import React from 'react' import { connect } from 'react-redux' import { addTodo } from '../actions' let AddTodo = ({ dispatch }) => { let input return ( <div> <form onSubmit={e => { e.preventDefault() if (!input.value.trim()) { return } dispatch(addTodo(input.value)) input.value = '' }}> .......
为什么没有得到this.pros.store而只是调用dispatch()函数?
编辑:它如何从this.pros中提取调度.是不是对象this.pros.store?在这种情况下,为什么我们不提取商店?
谢谢.
解决方法
您的addTodo组件可以访问商店的状态和方法(例如,dispatch,getState等).因此,当您通过connect方法将React视图与Redux存储连接起来时,您可以访问存储的状态和方法.
({dispatch})只是使用JS destructuring assignment从this.props对象中提取调度.