如果存在一个应从数组呈现的列表,则该数组将从grand-grand-grand-grand-grand-parent定制元素传递。那会很烦人。
像lit-element
一样,redux
是否有全局状态管理解决方案?
答案 0 :(得分:4)
litElement是一个库,您可以使用任何库进行所需的状态管理。只需在构造函数或connectedCallback中订阅商店(在断开连接的Callback中取消订阅),并在商店通知您更改时更改组件属性。
这里有一些与litElement一起使用的PWA帮助器,而Redux有一个。
答案 1 :(得分:0)
是的,请检出LitState(npm软件包名称lit-element-state
)。
我专门为LitElement创建了这个。它具有相同的心态:简单,小型和强大。
由于它是专门为LitElement创建的,因此集成得很好,因此用法非常简单。您可以这样创建一个状态对象:
import { LitState, stateVar } from 'lit-element-state';
class MyState extends LitState {
myCounter = stateVar(0); // `0` is the default value
}
export const myState = new MyState();
然后您可以像下面这样在组件中使用状态:
import { LitStateElement } from 'lit-element-state';
import { html } from 'lit-element';
import { myState } from './my-state.js';
class MyComponent extends LitStateElement {
render() {
return html`
<h1>Counter: ${myState.counter}</h1>
<button @click=${() => myState.counter++}></button>
`;
}
}
当您的组件从LitStateElement
而不是LitElement
扩展时,它们会在使用任何stateVar
进行更改时自动重新呈现。