我搜索过高低,但找不到明确的答案。
我设法将注意力集中在Redux的机制上,但是当我谈到API调用和异步操作创建者时,我就在Promises的上下文中停留在中间件上。
你能帮我弄好乱子吗?
这个难题的矛盾部分让我头疼:
YT教程之一说,本机Redux分派方法不支持从动作创建者返回的诺言-因此需要Redux Promise库(我知道该项目现在可能已经死了,并且继续是Redux Promise中间件)。
Dan在“ redux-thunk和redux-promise之间有什么区别? ”中说,即使没有中间件,我也可以使用诺言-只需在动作创建者中对其进行管理即可。
在其他答案中,我找到了使用thunk的示例,其中动作创建者返回了一个... promise(后来在调用者中处理/ dispatch(myActionCreator(params).then(...) /所以一个promise 可以由a返回)没有任何redux-promise lib的thunk 。
在“ redux-thunk和redux-promise之间有什么区别? ”中,接受的答案指出Redux Thunk返回函数,而Redux Promise返回promise ..到底是什么?
总结一下:使用Redux Promise或Redux Promise中间件有什么意义?为什么仅Redux不能原生支持诺言?
更新:
我刚刚意识到,在3点以上我忽略then()被连接到dispatch不包括在dispatch()ARGS。
我总结了问题的关键是尽可能简短:
一个简单的脚本:
<?php
session_start();
$_SESSION['user']="logged";
Run Code Online (Sandbox Code Playgroud)
然后覆盖
$_SESSION['user']=0;
Run Code Online (Sandbox Code Playgroud)
并显示$ _SESSION内容
var_dump($_SESSION);
Run Code Online (Sandbox Code Playgroud)
显示$ _SESSION ['user']为'0' - 确定,因为它刚刚被覆盖
但是现在看
if ($_SESSION['user']=="logged"){
echo "logged";
}
else{
echo "unlogged";
}
Run Code Online (Sandbox Code Playgroud)
输出"已记录"....
似乎变量类型的变化只是肤浅的 - 我不知道我做错了什么..我是否需要使用===比较来包括检查类型?