我使用 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 是否也能工作,但由于该应用程序尚未发布,我不知道如何做到这一点。
任何想法?
我试图获得我在网格中使用的商店的大小.但我无法找到任何方法来获得商店的大小(网格中的记录数).
任何人都可以帮助,我怎样才能实现这一目标.
谢谢,Neha
我正在使用Extjs 4.0,我需要一个方法的回调store.sync()方法?有没有人有办法解决吗?非常感谢!
我想使用hibernate和Java将图像存储到数据库中.我正在使用postgres数据库
我尝试了bytea数据类型来存储byte[]hibernate pojo中的图像和数据类型.
我使用了以下代码,
CREATE TABLE photo
(
"photo_name" bytea
)
WITH (OIDS=FALSE);
ALTER TABLE photo OWNER TO postgres;
Run Code Online (Sandbox Code Playgroud)
Hibernate Pojo
public class PhotoEntity {
byte[] name;
public byte[] getName() {
return name;
}
public void setName(byte[] name) {
this.name = name;
}
Run Code Online (Sandbox Code Playgroud)
}
但它在映射时会出错.
请给我任何参考来做这件事.
我正在创建一个MVC extjs应用程序。我有一个带有商店的treepanel,它正在从php源加载数据。我收到以下json格式的响应:
[
{
"text": "Home",
"leaf": true,
"dbName": "NULL",
"children": []
},
{
"text": "Moje Firma s.r.o.",
"leaf": false,
"expanded": false,
"children": [
{
"text": "Vydane",
"leaf": true,
"dbName": "demo"
},
{
"text": "Prijate",
"leaf": true,
"dbName": "demo"
}
]
},
{
"text": "Já Živnostník",
"leaf": false,
"expanded": false,
"children": [
{
"text": "Vydane",
"leaf": true,
"dbName": "demo_de"
},
{
"text": "Prijate",
"leaf": true,
"dbName": "demo_de"
}
]
},
{
"text": "Nezisková organizace",
"leaf": false,
"expanded": false,
"children": [ …Run Code Online (Sandbox Code Playgroud) store ×10
extjs ×2
reactjs ×2
vue.js ×2
android ×1
angular ×1
callback ×1
deep-linking ×1
extjs4 ×1
grid ×1
hibernate ×1
image ×1
ios ×1
mobx ×1
mobx-react ×1
models ×1
nuxt.js ×1
observable ×1
pinia ×1
postgresql ×1
rxjs ×1
size ×1
state ×1
sync ×1
treepanel ×1
typescript ×1
vuex ×1
zustand ×1