使用redux-persist时出错.我找不到有关redux-persist v5的文档.我只是按照官方用法示例.但我对此感到困惑.在我使用redux-persist之前,我可以正确地从商店获取状态.但是我希望在本地保持登录状态.所以我尝试使用redux-persist.然后我遇到了一些问题.这是我的代码:
reducer.js
const initialState = {
isLogin: false,
uname: "",
}
const userReducer = (state = initialState, action) => {
switch(action.type) {
case 'DO_LOGIN':
return Object.assign({}, state, {
isLogin: true,
uname: action.payload.username
})
default:
return state
}
}
const reducers = combineReducers({
userInfo: userReducer
})
export default reducers
Run Code Online (Sandbox Code Playgroud)
store.js
import thunk from 'redux-thunk'
import { createLogger } from 'redux-logger'
import { createStore, applyMiddleware, compose } from 'redux'
import { persistStore, persistCombineReducers } from 'redux-persist'
import storage from 'redux-persist/es/storage'
import …Run Code Online (Sandbox Code Playgroud) 我想用 JSONEncoder 将字典编码为 json。它看起来像一个请求,接收一个字典作为参数并将其编码为 json 作为 http 正文。代码如下所示:
let dict = ["name": "abcde"]
protocol Request {
var params: [String: Encodable] { get set }
func encode<T>(_ value: T) throws -> Data where T : Encodable
}
extension Request {
func encode<T>(_ value: T) throws -> Data where T : Encodable {
return try JSONEncoder().encode(value)
}
var body: Data? {
if let encoded = try? self.encode(self.params) {
return encoded
}
return nil
}
}
struct BaseRequest: Request {
var params: [String …Run Code Online (Sandbox Code Playgroud)