实现思路
- 创建全局信号:在项目的公共模块或入口文件中创建用于存储全局状态的信号。
- 提供访问和修改函数:通过导出函数来让其他组件访问和修改这些全局信号的值,确保状态的一致性和可维护性。
- 在组件中使用:在各个组件中引入相关的访问和修改函数,从而实现对全局状态的读写操作。
关键代码示例
- 创建全局信号及操作函数
// globalState.js
import { createSignal } from 'solid-js';
// 创建全局信号,例如一个计数器
const [count, setCount] = createSignal(0);
// 导出用于增加计数器的函数
export const incrementCount = () => {
setCount(count() + 1);
};
// 导出获取计数器值的函数
export const getCount = () => {
return count();
};
- 在组件中使用全局状态
// SomeComponent.js
import { createComponent } from'solid-js';
import { incrementCount, getCount } from './globalState.js';
const SomeComponent = createComponent(() => {
return (
<div>
<p>全局计数器的值: {getCount()}</p>
<button onClick={incrementCount}>增加计数器</button>
</div>
);
});
export default SomeComponent;