我正在创建一个名为 isMember 的模块。该模块应该能够检查state.current_user.member
是否为真。
1 import { select } from "redux-saga/effects"
2
3 export function* isMember() {
4 const { member } = yield select((state: any) => state.current_user)
5 console.log("isMember: ", member)
6 return member
7 }
我试图在我看来像这样测试它:
import { isMember } from "../utils/isMember"
return (
{ isMember() && <span> is a member </span> }
)
答案 0 :(得分:0)
select
是redux-saga
的效果对象。它是一种处理redux副作用的工具,应该只用于传奇。
通常,要测试你的模块,你需要将它放在监视一个动作的传奇观察者中:
import { takeEvery } from 'redux-saga'
function* watchTestingAction() {
yield takeEvery(TESTING_ACTION_TYPE, isMember)
}
并在React组件中调度该操作:
import { connect } from 'react-redux'
...
return (
<MainContainer withScroll>
<GjeButton
title="isMember?"
onPress={this.props.testingAction} />
...
const mapState = (state) => ({})
const mapDispatch = (dispatch) => ({
testingAction: () => dispatch({ type: TESTING_ACTION_TYPE })
})
export default connect(mapState, mapDispatch)(YourComponent)
编辑:要获取州数据,不需要redux-saga
。您需要的是来自connect
的{{1}}。
react-redux