我无法理解 mapDispatchToProps、mapStateToProps的实际使用,所以请举例说明。
小智 2
mapDispatchToProps 和 mapStateToProps 是两个 API。
mapStateToProps 提供了 store 的当前状态对象,使用它我们可以过滤和使用所需的状态部分。我们还可以提供 ownProps 参数,其中包含组件的父级提供的参数。例如:
const mapStateToProps = (state, ownProps) => {
return state;
}
Run Code Online (Sandbox Code Playgroud)
mapDispatchToProps 让函数在我们的组件中可用。因此,通过 actionCreators,我们可以提供可以直接使用的函数,而无需将它们分派到我们的组件内,例如:
const mapDispatchToProps = dispatch => {
return {
login1: bindActionCreators(login, dispatch)
}
}
Run Code Online (Sandbox Code Playgroud)
这里提供给绑定函数的登录名是从动作文件中作为 * 导入的。例如,从“文件名”导入登录名作为*
现在 Connect 是另一个 API,由 React-Redux 提供,它提供了真正的粘合剂并使事情正常工作,例如:
export default connect(mapStateToProps,null,mapDispatchToProps)(Login)
Run Code Online (Sandbox Code Playgroud)
这里的 Login 是我们需要映射到的组件(类)。
希望这可能会清楚,差异请随时询问是否还有更多疑问
| 归档时间: |
|
| 查看次数: |
2600 次 |
| 最近记录: |