如何使 @connect 装饰器与 redux-saga 一起工作?
How to make @connect decorator work with redux-saga?
关于如何结合使用 react-redux
中的 connect
作为装饰器与 redux-saga
有什么好的做法吗?
import React from 'react';
import { connect } from 'react-redux'
@connect(({ data }) => ({ data }), require('../models/effects').default)
export default class User extends React.Component {
onClick() {
console.log('on click.');
// how to make redux-saga work here?
this.props.action1();
}
}
redux-saga 将 redux actions
变成副作用,而 react-redux 的 connect
将字段从 store
并将它们作为道具公开给您的组件。
换句话说,你不需要将你的组件直接连接到 redux-saga。相反,如果您不使用 redux-saga,则像您一样生成操作。然后添加对这些动作作出反应的 sagas 并执行必要的副作用,当这些副作用完成时产生新的动作。您的减速器应该处理那些更新状态的最终操作,这将触发 connect
并更新您的组件。
关于如何结合使用 react-redux
中的 connect
作为装饰器与 redux-saga
有什么好的做法吗?
import React from 'react';
import { connect } from 'react-redux'
@connect(({ data }) => ({ data }), require('../models/effects').default)
export default class User extends React.Component {
onClick() {
console.log('on click.');
// how to make redux-saga work here?
this.props.action1();
}
}
redux-saga 将 redux actions
变成副作用,而 react-redux 的 connect
将字段从 store
并将它们作为道具公开给您的组件。
换句话说,你不需要将你的组件直接连接到 redux-saga。相反,如果您不使用 redux-saga,则像您一样生成操作。然后添加对这些动作作出反应的 sagas 并执行必要的副作用,当这些副作用完成时产生新的动作。您的减速器应该处理那些更新状态的最终操作,这将触发 connect
并更新您的组件。