Javascript 在redux中使用异步存储保存布尔数据
我想在单击按钮时将状态设置为“true”或“false”,并在react native with redux中使用AsyncStorage进行保存。 我做得对吗?请帮我修一下Javascript 在redux中使用异步存储保存布尔数据,javascript,java,android,ios,react-native,Javascript,Java,Android,Ios,React Native,我想在单击按钮时将状态设置为“true”或“false”,并在react native with redux中使用AsyncStorage进行保存。 我做得对吗?请帮我修一下 import { AsyncStorage } from "react-native"; import { START_TOOLTIP_BUDGET, STOP_TOOLTIP_BUDGET } from "../actions/ActionTypes"; const INIT_STATE = true; exp
import { AsyncStorage } from "react-native";
import {
START_TOOLTIP_BUDGET,
STOP_TOOLTIP_BUDGET
} from "../actions/ActionTypes";
const INIT_STATE = true;
export default (state = INIT_STATE, action) => {
switch (action.type) {
case START_TOOLTIP_BUDGET:
AsyncStorage.setItem("INIT_STATE", JSON.stringify(true));
return INIT_STATE;
case STOP_TOOLTIP_BUDGET:
AsyncStorage.setItem("INIT_STATE", JSON.stringify(false));
return INIT_STATE;
default:
return state;
}
};
是的,您可以正确地执行此操作,但如果您返回INIT_STATE true或false,则可以获取当前类的当前数据。否则每次都返回true
export default (state = INIT_STATE, action) => {
switch (action.type) {
case START_TOOLTIP_BUDGET:
AsyncStorage.setItem("INIT_STATE", JSON.stringify(true));
return true;
case STOP_TOOLTIP_BUDGET:
AsyncStorage.setItem("INIT_STATE", JSON.stringify(false));
return false;
default:
return state;
}
};
然后单击按钮从类中获取它。您还可以获取异步存储项
AsyncStorage.getItem("INIT_STATE")
.then(req => JSON.parse(req))
.then(data => {
if (data !== null) {
console.log(data); // true or false
}
}).done();