Add an option to `createContextProvider` to throw an error instead of using a fallback in @solid-primitives/context
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 48/100
- Issue 类型
- 功能
- 描述清晰度
- 基本清楚
- 活跃度
- 冷清
- 技术栈
- typescript
- 领域
- frontend
调研方向
从 createContextProvider 入口点开始,检查其当前的 fallback 参数和生成的 hook 返回类型。比较提议的 config 和错误行为,然后覆盖缺少 provider 和 fallback 的情况。完成标准是:缺少 provider 时 strict mode 抛出错误,在 TypeScript 中返回 T,并保留现有的 fallback 行为。
由索引模型根据 Issue 内容生成。
描述
Describe The Problem To Be Solved
Right now, if I want to use createContextProvider but maintain a strict "fail-fast" pattern (where it throws an error if used outside its provider). I either have to accept the T | undefined return type and manually wrap it with a null check, or I have to pass a dummy fallback object just to satisfy TypeScript, which actively hides the fact that the provider is missing. Since strict context is super common in Solid, support this would be a good idea.
Suggest A Solution
It would be awesome if the primitive natively supported strict mode. Maybe the second argument could be updated to accept a config object instead of just the fallback value, something like { fallback?: {...}, throws: ... }. The throws property could accept either a string for a standard error message, or even better, an Error class in case developers want to throw their own custom errors.
The ultimate goal is that the generated hook would automatically throw the error if the context is undefined, and the TypeScript return type would be strictly T without needing any extra wrapper hooks.
- 主要语言
- TypeScript
- 星标
- 1.6k
- 派生
- 165
- 平均合并
- 2 天 53 分钟
- 30 天内合并 PR
- 11
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
solidjs-community/solid-primitives 的其他 Issue
-
bug
难度 2/5 1-3 小时 新手友好度 72/100
solidjs-community/solid-primitives#1059 · 1 条评论 ·
维护者通常 1 天内回复
-
enhancement
难度 4/5 3-5 天 新手友好度 48/100
solidjs-community/solid-primitives#1055 ·
维护者通常 1 天内回复
-
help wanted
难度 2/5 1-3 小时 新手友好度 52/100
solidjs-community/solid-primitives#830 · 2 条评论 ·
维护者通常 1 天内回复
-
help wanted
难度 3/5 1-2 天 新手友好度 48/100
solidjs-community/solid-primitives#806 · 1 条评论 · 2 个 reaction ·
维护者通常 1 天内回复
-
multiplexStorage source of truth可能重新可做 @atk 于 107 天前认领,目前没有进行中的 PR。 未关闭enhancement help wanted
solidjs-community/solid-primitives#799 · 7 条评论 · 已指派 1 人 ·
维护者通常 1 天内回复
查看 solidjs-community/solid-primitives 的全部 Issue
相似的 Issue
-
area: app type: bug
难度 2/5 1-3 小时 新手友好度 78/100
ExpidetGames/code-reviewer#585 ·
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 83/100
module-federation/core#5205 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 73/100
LanternOps/breeze#9392 · 1 条评论 ·
维护者通常 1 天内回复
-
engine-rs P3 review-deferral wasm
难度 2/5 1-3 小时 新手友好度 77/100
maniator/verticopolis#1154 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复