重构 React Effects
io.github.langfuse/langfuse/refactor-react-effects
重构 Langfuse 前端代码中可避免的 useEffect 用法。适用于:新增、评审或删除 effect;用查询数据初始化表单或本地 UI 状态;同步客户端与服务端状态;把 mutation 或异步工作流移出组件;清理某个前端子模块的全部 effect;或评审某个 effect 是否有合理的外部系统职责。
“React” 共 472 个结果
io.github.langfuse/langfuse/refactor-react-effects
重构 Langfuse 前端代码中可避免的 useEffect 用法。适用于:新增、评审或删除 effect;用查询数据初始化表单或本地 UI 状态;同步客户端与服务端状态;把 mutation 或异步工作流移出组件;清理某个前端子模块的全部 effect;或评审某个 effect 是否有合理的外部系统职责。
io.github.vudovn/ag-kit/nextjs-react-expert
来自 Vercel 工程团队的 React 与 Next.js 性能优化。在构建 React 组件、优化性能、消除瀑布流、减小包体积、审查性能问题或实现服务端/客户端优化时使用。
vdevelop
io.github.handsontable/handsontable/react-wrapper-dev
用于开发或修改 @handsontable/react-wrapper 包——React 组件、hooks、settings 映射、updateSettings 期间的选区保持,以及该封装的 TypeScript prop 类型与生成的 .d.ts。当任务触及 HotTableProps/HotColumnProps 类型或 <HotTable>/<HotColumn> 的 IDE 自动补全、声明构建,或反馈 React/TypeScript 用户得不到 prop 建议时使用——即便未显式提到该封装。
io.github.reactjs/react.dev/react-expert
在为文档研究 React API 或概念时使用。当你需要某个 React 特性的权威用法示例、注意事项、警告或错误说明时使用。
io.github.sickn33/antigravity-awesome-skills/code-showcase-react-ui-patterns
现代 React UI 模式,覆盖加载状态、错误处理与数据获取。在构建 UI 组件、处理异步数据或管理 UI 状态时使用。
io.github.affaan-m/ECC/react-native-patterns
React Native 与 Expo 应用模式——Expo Router 导航、状态分层(服务端/客户端/路由/表单)、结合 Zod 的 TanStack Query 数据获取、高性能列表、NativeWind/StyleSheet 样式、原生 API 与安全存储。当构建或修改 React Native/Expo 的页面、组件、导航或数据层时使用。
io.github.google-labs-code/stitch-skills/react-vite-dashboard
将 Stitch 设计稿转化为生产级 React + Vite 仪表盘,集成 TanStack Query、来自 DESIGN.md 的无障碍令牌,以及支持 Web3 的模式(ethers/viem)。
io.github.calesthio/OpenMontage/vercel-react-best-practices
来自 Vercel 工程团队的 React 与 Next.js 性能优化指南。在编写、审查或重构 React/Next.js 代码以确保最优性能模式时使用。涉及 React 组件、Next.js 页面、数据获取、包体积优化或性能提升的任务触发。
io.github.QuantumNous/new-api/vercel-react-best-practices
来自 Vercel 工程团队的 React 与 Next.js 性能优化准则。在编写、审查或重构涉及组件、Next.js 页面、Server Components、Server Actions、数据获取、bundle 体积、渲染行为或性能提升的 React/Next.js 代码时使用。
io.github.yikart/AiToEarn/vercel-react-best-practices
来自 Vercel 工程团队的 React 与 Next.js 性能优化指南。在编写、审阅或重构 React/Next.js 代码以确保最优性能模式时使用。涉及 React 组件、Next.js 页面、数据获取、包体积优化或性能改进的任务时触发。
io.github.TheWidlarzGroup/react-native-video/react-native-video
当 React Native 应用使用或选型 react-native-video 库时使用——播放/控制视频或音频、v6 的 `Video` 组件或 v7 的 `useVideoPlayer`/`VideoView` 播放器 API、source/props/事件(onLoad、onProgress、onEnd、paused、resizeMode、source、drm)、HLS/DASH、DRM(Widevine/FairPlay、`@react-native-video/drm`)、字幕/轨道、画中画、后台或锁屏音频、全屏、缓冲、离线/下载,以及 iOS/Android 原生配置;也在 v6 与 v7 之间做决策或迁移时使用。触发词包括“react-native-video”“RNV”、`Video`、`useVideoPlayer`、`VideoView` 等。
io.github.millionco/react-doctor/react-doctor
在完成功能、修复缺陷、提交 React 代码前,或用户输入 `/doctor`、要求扫描、分诊或清理 React 诊断信息时使用。覆盖 lint、无障碍、包体积与架构。包含回归检查,以及会拉取权威 playbook 的完整本地分诊流程。
io.github.remix-run/react-router/react-router
以 Framework、Data、Declarative 及不稳定 RSC 模式构建 React Router 应用。适用于配置路由、路由模块、loader、action、表单、fetcher、导航、pending UI、SSR/SPA/预渲染、中间件、URL params/search params,或 React Router 升级。
io.github.github/awesome-copilot/react-container-presentation-component
在 src/components 下按 Container/Presentation 模式创建组件:询问组件名与类型(ui 或 features),然后按本仓库的 TypeScript、Storybook 与 SCSS 约定生成文件。当用户明确索要 Container/Presentation 模式组件或运行 /react-container-presentation-component 时使用。
io.github.aidenybai/react-grab/react-grab
当用户想要一个免手动的工作回路:用 React Grab 在浏览器中抓取 UI 元素并自动将任务喂给代理,无需复制粘贴或手动交接时使用。触发语:“watch react grab”“monitor my grabs”“auto-process react grab”“watch my clipboard for grabs”。不适用于一次性粘贴单个抓取结果;这是持续开启的回路。
vbeta
io.github.TanStack/table/compose-with-tanstack-form
用 `@tanstack/react-form` 为 `@tanstack/react-table` v9 提供可编辑单元格。表格是布局原语,编辑状态由表单负责。用 `createFormHook` 注册可复用的字段组件(`TextField`、`NumberField`、`SelectField`),然后在每列的 `cell` 中返回 `<form.AppField name={`data[${row.index}].field`}>{(field) => <field.TextField />}</form.AppField>`。关键类型坑点:如果行数据里存在递归的 `subRows`,表单的行类型要用 `Omit<Row, 'subRows'>`——TanStack Form 的 `DeepKeys` 会递归并触发 TS2589。行的增删重渲染应订阅 `form.state.values.data.length`,而不是整个数组。
vbeta
io.github.TanStack/table/client-to-server
把客户端的 `@tanstack/react-table` v9 表格转为服务端模式(manual 系列开关)。将服务端分页/排序/过滤后的行作为 `data` 传入,为服务端现在负责的部分设置 `manualPagination` / `manualSorting` / `manualFiltering` / `manualGrouping` / `manualExpanding`,提供 `rowCount` 以便 `getPageCount()` 可用,并从 `tableFeatures()` 中删除对应的工厂(服务端分页就不再放 `paginatedRowModel` 槽位)。通过外部 atom(`useCreateAtom` 加 `options.atoms`)自己托管相关状态切片,让查询能以该切片为 key 并自动重新请求;或者继续使用经典的 `state` 加 `on*Change` 受控状态。
vbeta
io.github.TanStack/table/production-readiness
`@tanstack/react-table` v9 可直接上生产的优化手段:只注册你真正用到的 `features` 以缩减包体积;对 `features`、`data` 与 `columns` 做记忆化以保持引用稳定;用窄 selector 或按切片的 `useSelector(table.atoms.<slice>)` 订阅替代 `(state) => state`;并借助 `<table.Subscribe>` 与 `<Subscribe>` 把状态驱动的重渲染下沉到树的更深处,避免每次切换排序指示器都重渲染昂贵的表体。小表格不要过度优化——默认 selector 加内联渲染在性能未经测量验证前完全够用。
vbeta
io.github.TanStack/table/table-state
为 `@tanstack/react-table` v9 接入响应式。内容包括 `useTable` 及其第二个 selector 参数、通过 `table.state` / `table.store` / `table.atoms.<slice>` 读取状态、用 `table.FlexRender` 渲染、用 `<table.Subscribe>` 与独立的 `<Subscribe>` 让子树获得细粒度响应、通过 `useCreateAtom` 加 `options.atoms` 用外部 atom 自己托管切片,以及用 `createTableHook` 把共享配置打包成可复用 hook(`useAppTable`、`createAppColumnHelper`、`table.AppTable` / `table.AppHeader` / `table.AppCell` / `table.AppFooter`)。路由关键词:useTable、useSelector、useCreateAtom、atoms、react-store、table.Subscribe、FlexRender。
vbeta
io.github.TanStack/table/compose-with-tanstack-devtools
在 React 中为 TanStack Table 接入 TanStack Devtools:在应用根部挂载一次 `TanStackDevtools` 并带上 `tableDevtoolsPlugin()`,然后在每个 `useTable` 之后调用 `useTanStackTableDevtools(table)`,把该表格注册为 devtools 目标。除非从 `@tanstack/react-table-devtools/production` 导入,否则生产构建会把开发期 devtools tree-shake 成空操作。
vbeta
io.github.TanStack/table/migrate-v8-to-v9
`@tanstack/react-table` v8 到 v9 的机械式破坏性变更迁移。凭肌肉记忆照写的每一个 v8 风格选项、类型或方法,下文都列出了 v9 对应写法:`useReactTable` 改为 `useTable`;根级 `get*RowModel` 选项改为写在 `tableFeatures({...})` 里的行模型工厂,并与各自的 *Fns registry 并列;`createColumnHelper<TData>` 改为 `createColumnHelper<typeof features, TData>`;`table.getState()` 改为 `table.state` / `table.store.state` / `table.atoms.X.get()`;`sortingFn` 改为 `sortFn`;`enablePinning` 拆分;下划线前缀 API 去掉前缀;`ColumnSizing` 拆为 `columnSizingFeature` 与 `columnResizingFeature`。若需渐进迁移,`@tanstack/react-table/legacy` 的 `useLegacyTable` 可在 v9 引擎上接受 v8 API——但它已被弃用、包体积更大,且没有 `table.Subscribe`。长期来看,每个表格都要从它迁走。
vbeta
io.github.TanStack/table/getting-started
`@tanstack/react-table` v9 从零到一搭建首个表格的完整路径:安装 React adapter,用 `tableFeatures()` 声明 `features`(行模型工厂与 *Fns registry 和 feature 开关一起挂在 features 对象上),用同时带 `TFeatures` 与 `TData` 泛型的 column helper 创建列,实例化 `useTable`,并用 `<table.FlexRender>` 渲染。新用户应从这里入手,而不是 `useLegacyTable`。
vbeta
io.github.TanStack/table/compose-with-tanstack-virtual
`@tanstack/react-table` v9 本身不包含虚拟化,需要与 `@tanstack/react-virtual` 搭配。标准行虚拟化模式:从 `table.getRowModel().rows` 取行数组,把 `rows.length` 传给位于尽可能深组件(`TableBody`,而不是 `App`)中的 `useVirtualizer({ count, estimateSize, getScrollElement, ... })`,用 `rowVirtualizer.getVirtualItems()` 代替 `rows.map` 迭代,用 `transform: translateY(virtualRow.start)` 对每行做绝对定位,并把 `<tbody>` 渲染为具有固定总高度的 CSS grid。列虚拟化使用 `horizontal: true` 加上左右占位单元格。另有一个实验性的 ref 变更写法可跳过 React 协调、再带来约 10% 的性能收益,但标准模式仍是默认选择。
vbeta
io.github.TanStack/table/compose-with-tanstack-store
`@tanstack/react-table` v9 构建在 TanStack Store 之上。每个状态切片(sorting、pagination、rowSelection、columnFilters 等)都是独立的 atom。表格暴露三个读取入口——`table.atoms.<slice>`(按切片的只读)、`table.store`(扁平只读视图)、`table.state`(来自 `useTable` 的 selector 输出)——以及两条写入路径——内部 `table.baseAtoms.<slice>`,或在你选择自己托管该切片时使用你的 `options.atoms[slice]`。用 `@tanstack/react-store` 的 `useCreateAtom` 保证稳定标识,用 `useSelector` 做细粒度读取,并把 atom 通过 `options.atoms` 传入,让表格直接写入——无需 `on*Change` 处理函数。