说我在应用程序商店发布了应用程序版本1.0.然后我想发布1.1版.
我将保留从应用程序包中复制到应用程序沙箱中的现有数据.这些是一些XML配置文件和用户可以写入数据的sqlite数据库.这些文件可能需要更新以保留其现有数据.
测试升级方案的最佳方法是什么?
是否存在仅在安装时调用的任何类型的委托事件?
谢谢.
我正在做一个带有商店的 Todo 应用程序。现在一切都很好,但我想对商店中的商品进行排序,或者也许显示它们已订购。商店是一个数组,商店中的所有项目都是一个带有键的对象:text、id、editing、line、checkboxed。所以“checkboxed”是一个布尔值,我希望所有“checkboxed:true”对象都位于数组中的第一个。我怎样才能做到呢?或者也许:我如何对 svelte-store-array 中的项目进行一般排序?谢谢 !!!!
我正在使用 Vuex,而且我对它还很陌生。我想将数据提交到存储并用有效负载的内容替换状态。
我的商店是使用模块构建的,有问题的模块是用户模块,
目前我正在做类似我的突变的事情,
setUser(state, payload) {
state.user = {...payload.user}
}
Run Code Online (Sandbox Code Playgroud)
这使得我的状态在运行提交后看起来像这样
user: {
user: {
nickname: 'Bob',
host: true,
emoji: 'Smile',
passcode: 12345678,
room_id: 123
}
}
Run Code Online (Sandbox Code Playgroud)
理想情况下,我不想在用户对象中包含用户对象,我要么希望用户的每个属性成为状态的一部分,例如,
state : {
nickname: 'Bob',
host: true,
emoji: 'Smile',
passcode: 12345678,
room_id: 123
}
Run Code Online (Sandbox Code Playgroud)
或者它可能看起来像这样,
state : {
user: {
nickname: 'Bob',
host: true,
emoji: 'Smile',
passcode: 12345678,
room_id: 123
}
}
Run Code Online (Sandbox Code Playgroud)
我不明白为什么我会得到state.user.user?
这是我所在州的用户模块,
export default {
state: {
user: {}
},
mutations: {
setUser(state, payload) {
state.user = …Run Code Online (Sandbox Code Playgroud) 我正在制作一个小型 mixin,用于根据用户如何爬行页面来驱动动画,并且我需要从该 mixin 访问存储在 Vuex 存储中的数据。任何 ide 如何从 vuex 存储传递数据,我很生气。
页面/index.vue
import Vue from 'vue'
import {ToplevelAnimations} from '~/mixins/toplevel_animations'
export default Vue.extend({
mixins: [
ToplevelAnimations
]
})
Run Code Online (Sandbox Code Playgroud)
mixins/toplevel_animations.js
export const ToplevelAnimations = {
transition(to, from) {
// some logic, here I need to access routes stored in store
return (to_index < from_index ? 'switch-to-left' : 'switch-to-right');
}
}
Run Code Online (Sandbox Code Playgroud)
商店/index.js
import {StoreExtensions} from "~/plugins/store_extensions.js";
export const state = () => ({
MAIN_NAV_LINKS: [
{
path: '/',
title: 'Domov',
order: 1
}, …Run Code Online (Sandbox Code Playgroud) 我使用 a 开发了一个自定义角度商店,BehaviorSubject并且使用如下:
export class UserFaceComponent {
@Input()
public id: any;
public presence$: Observable<boolean>;
constructor(private _store: Store) { }
public ngOnInit() {
this.presence$ = this._store
.select(s => s.users.presences)
.pipe(
map(p => p.includes(this.id))
);
}
}
Run Code Online (Sandbox Code Playgroud)
这样,当存储更改时,presence$可观察对象会发出新值。它工作得很好,但是,id传递给组件的也可能会改变。假设页面上有一个用户列表,当用户选择其中一个时,它会更新传递selectedUserId给UserFaceComponent. 这将是与以前相同的组件,但id会更新。
这意味着我必须在组件中创建一个主题,订阅钩子onChange并在 id 更改时发出该主题。然后,我必须将此可观察值与上面的可观察值合并,然后发出新值。
这可行,但非常麻烦,我不想被迫为用这种方法制作的每个组件执行此操作...我考虑了一段时间,但我找不到另一个解决方案来解决这个问题...
我的 Nuxt.js 设置遇到一些奇怪的问题。Store 中的某些状态不是持久的,每次我加载另一个视图时,它们都会回到默认值。
页面/test.vue
<template>
<section class="section">
<b-container>
<b-row>
<b-col cols=12>
<b-button @click="setTest" variant="dark">test</b-button> | {{this.$store.state.test}} |
</b-col>
</b-row>
</b-container>
</section>
</template>
<script>
export default {
name: 'test',
methods: {
setTest() {
this.$store.commit("setTest")
},
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
商店/index.js
export const state = () => ({
test: "test"
})
export const mutations = {
setTest: (state) => state.test = 'Hello'
}
Run Code Online (Sandbox Code Playgroud)
测试场景是点击“测试”按钮,调用带有突变提交“setTest”的方法,将状态设置为“Hello”。目前它工作正常,但如果我更改视图或重新加载页面,状态将设置为默认“测试”。
我究竟做错了什么?
我已经使用简单的 MobX 商店构建了一个基本的计数器 React 应用程序。我能够使用创建可观察的 MobX 状态,makeObservable但由于某种原因,当我尝试使用时makeAutoObservable出现错误
Cannot read property 'counter' of undefined
我怎么使用makeAutoObservable不正确?
店铺
import { makeAutoObservable, makeObservable, action, observable } from "mobx";
class SampleStore {
counter = 0;
constructor(arg) {
makeAutoObservable(this);
// makeObservable(this, {
// counter: observable,
// increment: action.bound,
// decrement: action.bound,
// });
}
increment() {
this.counter++;
return this.counter;
}
decrement() {
this.counter--;
return this.counter;
}
}
export default SampleStore;
Run Code Online (Sandbox Code Playgroud)
useStore 钩子
import { createContext, useContext } from "react";
import …Run Code Online (Sandbox Code Playgroud) 这里有这家商店:
interface Task {
id?: string;
name: string;
done: boolean;
}
interface TodoState {
tasks: Task[];
loading: boolean;
}
export const useTodoStore = defineStore({
id: 'todo',
state: (): TodoState => ({
tasks: [],
loading: false,
}),
getters: {},
actions: {
async addTask(name: string): Promise<void> {
this.loading = true;
this.tasks.push({ name, done: false, id: generateID() });
await sleep(200);
this.loading = false;
},
},
});
Run Code Online (Sandbox Code Playgroud)
我不明白为什么当我将鼠标悬停在操作中的“任务”时,其类型不是 Task[] 但我得到
(property) tasks: {
id?: string | undefined;
name: string;
done: boolean;
}[]
Run Code Online (Sandbox Code Playgroud)
*我在react应用程序中创建了2个Zustand存储,一个称为UserStore,另一个称为SettingsStore,如何获取从UserStore到SettingsStore的状态?*
import create from 'zustand';
const UserStore = (set, get) => ({
user: {},
});
Run Code Online (Sandbox Code Playgroud)
我想将此“用户”变量用于我的另一个名为 SettingsStore 的商店
import create from 'zustand';
const SettingsStore = (set, get) => ({
});
Run Code Online (Sandbox Code Playgroud) store state-management reactjs react-state-management zustand
我有一个移动应用程序(用 Flutter 开发,但与这个问题无关)。
该应用程序使用Firebase 动态链接功能将用户带入内部并激活某些功能。我尝试使用设备上已安装的应用程序激活链接,效果很好。现在我想测试从 App/Play 商店传递的 DL 是否也能工作,但由于该应用程序尚未发布,我不知道如何做到这一点。
任何想法?
store ×10
vue.js ×3
vuex ×3
nuxt.js ×2
reactjs ×2
android ×1
angular ×1
deep-linking ×1
ios ×1
iphone ×1
javascript ×1
mobx ×1
mobx-react ×1
observable ×1
pinia ×1
rxjs ×1
state ×1
svelte ×1
typescript ×1
upgrade ×1
zustand ×1