【发布时间】:2017-08-09 19:33:21
【问题描述】:
我正在研究反应,我有一个这样的例子
//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 中提取dispatch。对象不是 this.pros.store 吗?在这种情况下,我们为什么不直接提取store?
谢谢。
【问题讨论】:
-
我相信您将 React 和 Redux 的概念混为一谈。 Props 是你从 React 组件中得到的。 Redux store 没有任何关系。 react-redux 将它们连接起来,使您可以更轻松地使用 Redux 的 store 方法 dispatch() 调度操作。 react-redux 还可以通过将函数作为第一个参数传递给 connect() 来使 store 的状态作为 props 可用。查看 react-redux 文档以获取更多信息。
标签: javascript reactjs ecmascript-6 react-redux