tin*_*lyx 6 javascript default-value ecmascript-6
我对默认参数有点生疏,我想知道如果参数没有默认参数,我怎么能使用参数的默认值?
在从Redux.js例下面,默认值时将{}
用于state
参数是有用的?(因为你不能默认下一个参数)?
const todo = (state = {}, action) => {
switch (action.type) {
//...
case 'TOGGLE_TODO':
if (state.id !== action.id) {
return state
}
return Object.assign({}, state, {
completed: !state.completed
})
default:
return state
}
}
Run Code Online (Sandbox Code Playgroud)
小智 7
有问题的用法是特定的redux.js
.由于第二个参数没有默认值,因此第一个参数的默认值在函数调用中通常是无用的.
但是,正如之前在同一个关于Reducers的教程中所说:
Redux将首次调用我们的减速器处于未定义状态.这是我们返回应用程序初始状态的机会:
function todoApp(state, action) {
if (typeof state === 'undefined') {
return initialState
}
//...
return state
}
Run Code Online (Sandbox Code Playgroud)
所以这里没有真正省略第一个参数.Redux undefined
在初始化时提供其值.只有在这种情况下,教程才使用默认参数语法作为快捷方式:
function todoApp(state = initialState, action) {
//...
return state
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1891 次 |
最近记录: |