Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
A
app-manage-console
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
ReactNative
app-manage-console
Commits
d2d866ae
提交
d2d866ae
authored
7月 13, 2018
作者:
vipcxj
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: saga effect不需要额外加命名空间前缀,dva已经处理过了
上级
3f6e00e1
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
24 行增加
和
24 行删除
+24
-24
model.js
src/utils/model.js
+24
-24
没有找到文件。
src/utils/model.js
浏览文件 @
d2d866ae
...
...
@@ -42,14 +42,14 @@ const hackDispatch = (module, dispatch) => action => dispatch({
});
const
hackSagaEffects
=
(
module
,
sagaEffects
)
=>
{
const
put
=
(
action
)
=>
{
const
{
type
}
=
action
;
return
sagaEffects
.
put
({
...
action
,
type
:
`
${
module
}
/
${
type
}
`
});
};
put
.
resolve
=
(
action
)
=>
{
const
{
type
}
=
action
;
return
sagaEffects
.
put
.
resolve
({
...
action
,
type
:
`
${
module
}
/
${
type
}
`
});
};
//
const put = (action) => {
//
const { type } = action;
//
return sagaEffects.put({ ...action, type: `${module}/${type}` });
//
};
//
put.resolve = (action) => {
//
const { type } = action;
//
return sagaEffects.put.resolve({ ...action, type: `${module}/${type}` });
//
};
const
select
=
(
selector
,
...
args
)
=>
{
const
_selector
=
(
state
,
...
_args
)
=>
{
const
keys
=
Object
.
keys
(
state
);
...
...
@@ -64,22 +64,22 @@ const hackSagaEffects = (module, sagaEffects) => {
};
return
sagaEffects
.
select
(
_selector
,
...
args
);
};
const
take
=
(
type
)
=>
{
const
{
take
:
oTake
}
=
sagaEffects
;
if
(
typeof
type
===
'string'
)
{
return
oTake
(
`
${
module
}
/
${
type
}
`
);
}
else
if
(
Array
.
isArray
(
type
))
{
return
oTake
(
type
.
map
((
t
)
=>
{
if
(
typeof
t
===
'string'
)
{
return
`
${
module
}
/
${
type
}
`
;
}
return
t
;
}));
}
else
{
return
oTake
(
type
);
}
};
return
{
...
sagaEffects
,
put
,
take
,
select
};
//
const take = (type) => {
//
const { take: oTake } = sagaEffects;
//
if (typeof type === 'string') {
//
return oTake(`${module}/${type}`);
//
} else if (Array.isArray(type)) {
//
return oTake(type.map((t) => {
//
if (typeof t === 'string') {
//
return `${module}/${type}`;
//
}
//
return t;
//
}));
//
} else {
//
return oTake(type);
//
}
//
};
return
{
...
sagaEffects
,
select
};
};
const
hackEffect
=
(
module
,
effect
)
=>
function
*
effectGenerator
(
action
,
sagaEffects
)
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论