我被迫使用redux-actions。在我的reducer中,这段代码可以工作:
return handleActions({
[FOOBAR]: (state) => ({
...state, value: 'the user clicked something 2'
})
}, {})
然而,在reducer中我想console.log
一些东西。我该怎么做?
答案 0 :(得分:4)
您的代码当前从箭头函数返回一个对象,以指示后续状态。您可以使用a block来容纳多个语句,包括console.log
,而不仅仅是隐式返回:
[FOOBAR]: (state) => {
console.log('Inside FOOBAR action')
return {
...state, value: 'the user clicked something 2'
}
}
由于缺少{}
1 ,()
象征着一个块而不是一个对象文字。因此,您可以在块内使用其他语句,但必须返回后续状态对象,因为它不会隐式返回。
{}
是块而不是对象文字的原因是因为arrow functions有多个可接受的语法,一个使用块:
(param1, param2, …, paramN) => { statements }
JavaScript引擎将{}
解释为块。因此,您的代码具有({})
,这意味着对象文字,因为括号只能包裹在表达式中。由于块不是表达式,而对象文字是表达式,因此引擎会将其解释为对象文字。
答案 1 :(得分:1)
以更详细的样式重写上面的箭头函数,允许您包含多个语句。然后你可以在控制台日志中滑动。
~/Desktop >> git clone git@gist.github.com:d1b8041051e62aa34f337b3dabc77d9a.git
Cloning into 'd1b8041051e62aa34f337b3dabc77d9a'...
The authenticity of host 'gist.github.com (192.30.253.118)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl22E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'gist.github.com,192.30.253.118' (RSA) to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.