@caldwell619/react-kanban

中文文档
0.0.12发布于 2025/02/04MITCommonJS零依赖近 30 天下载 1.5万

(fork of) 又一个 Kanban/Trello 棋盘回放

中文使用文档
文档目录16 节
  1. asseinfo 的 Kanban 反应
  2. 为什么是叉子?
  3. 路线图
  4. 演示
  5. 设置
  6. 使用量
  7. 无控制
  8. 已控制
  9. 董事会
  10. 协助控制板工作
  11. 董事会类型
  12. 道具
  13. 样式
  14. 用回混号
  15. 捐款
  16. 步骤

卡尔德韦尔619 反相坎班

NPM NPM

asseinfo 的 Kanban 反应

从 asseinfo 的 Kanban 反应

向所有贡献者大声疾呼.

Leandro Lourenci
莱安德罗·卢伦西

💬 🐛 💻 📖 💡 ⚠️
Gleb Bahmutov
格列布·巴赫穆托夫

⚠️
Matheus Sabino
马修斯·萨比诺

💻 📖 ⚠️
Pedro Javier Nicolás
佩德罗·哈维尔·尼古拉斯

💻
Matheus Poli
马修斯·波利

💻 ⚠️ 📖
Carlinhos de Sousa Junior
卡林霍斯·德苏萨

💻 ⚠️
Pete Duncanson
皮特·邓肯森

💻 📖 💡

为什么是叉子?

  • 原有的图书馆似乎不再维持. 此时最后一次承诺是2021年9月.
  • 原始库不包括TypeScript类型. 这是在联署材料中写的,但没有提供任何类型。 此分叉由TypeScript本地写成.

路线图

给 是队列中的内容。 如果你想看点什么, 提出一个问题

演示

链接

设置

yarn add @caldwell619/react-kanban

您还需要自行安装对等依赖 :

  "peerDependencies": {
    "react": ">=16",
    "react-dom": ">=16",
    "@hello-pangea/dnd": ">=16"
  },

这些都被列为对等依赖,因为如果你已经使用,我不想将特定版本标为依赖.

使用量

有两个主板, Controlled 财务报告和审定财务报表 Uncontrolled。 。 。 .

这是与原版的偏差,因为当时只有一个板子出口. 在原作中,对棋盘是否被控制有内部的确定. 事情不是这样的,因为你将会知道 你的董事会是否受到控制.

记住这一点,你可以 进口每块板像这样:

import { UncontrolledBoard, KanbanBoard } from '@caldwell619/react-kanban'
// import { ControlledBoard } from '@caldwell619/react-kanban'
import '@caldwell619/react-kanban/dist/styles.css' // import here for "builtin" styles

const board: KanbanBoard = {
  columns: [
    {
      id: 1,
      title: 'Backlog',
      cards: [
        {
          id: 1,
          title: 'Add card',
          description: 'Add capability to add a card in a column'
        },
      ]
    },
    { ... }
  ]
}

<UncontrolledBoard initialBoard={board} />

无控制

用一个无控制板,你通过一个 initialBoard 道克(prop),它将成为内部状态的基础. 当一个用户移动某个东西时,这些都由内部状态控制.

已控制

当你需要更好的控制板时,你应该坚持控制板. 控制板意味着你需要 处理板自己, 你需要保持状态 在你的手中(组件) 并将状态传递给 <Board />我们只是反映这个状态.

如果你跟受控者走,你需要通过你的板子 children 道具 (英语).

董事会

如果你真的想使用统一板,你还可以使用 Board。是否提供 initialBoard 或者说 children 将决定你用哪块板。 如果你提供两者, UncontrolledBoard 优先处理.

见一例, 这里。 。 。 .

协助控制板工作

帮助者在使用时会接触到帮助您的董事会状态的管理 ControlledBoard。他们与内部使用的帮助者相同,因此您可以利用他们协助控制状态.

import { ControlledBoard, moveCard, KanbanBoard, OnDragEndNotification, Card } from '@caldwell619/react-kanban'

const MyBoard = () => {
  const [board, setBoard] = useState<KanbanBoard>(initialBoard)

  const handleCardMove: OnDragEndNotification<Card> = (_card, source, destination) => {
    setBoard((currentBoard) => {
      return moveCard(currentBoard, source, destination)
    })
  }

  return <ControlledBoard onCardDragEnd={handleCardMove}>{board}</ControlledBoard>
}

帮助者的完整列表。 。 。 .

董事会类型

如果你使用JS,这个部分对你没有任何影响.

棋盘类型为 KanbanBoard。这是一个通用的,它接受 TCard extends Card您的数据无疑需要定制,所以所有帮助者和董事会将接受您的数据 TCard。 。 。 .

import { Card } from '@caldwell619/react-kanban'

interface CustomCard extends Card {
  storyPoints: number
}
export const renderCard: UncontrolledBoardProps<CustomCard>['renderCard'] = (card) => {
  // Can access with `card.storyPoints`
  return <CardWithStoryPoints {...card} />
}

这种行为将贯穿整个渲染过程并证实方法.

import { ControlledBoard, KanbanBoard } from '@caldwell619/react-kanban'

const CustomBoard = () => {
  return (
    <ControlledBoard<CustomCard>
      renderCard={(card) => {
        // `card.storyPoints`
        return <CardWithStoryPoints {...card} />
      }}
    >
      {board}
    </ControlledBoard>
  )
}

道具

详尽无遗 妇女 可以通过的道具列表,参考: 此页面。 。 。 .

样式

你要么把所有的棋盘都样式, 要么导入我们的样式, 用你想要的样式来覆盖它。 理想的情况是,您会制作专栏,而不是压倒性的CSS, 但是如果您需要的话,这可能会对您有所帮助.

类
react-kanban-board
react-kanban-card
react-kanban-card-skeleton
react-kanban-card--dragging
react-kanban-card__description
react-kanban-card__title
react-kanban-column
react-kanban-card-adder-form
react-kanban-card-adder-button
react-kanban-card-adder-form__title
react-kanban-card-adder-form__description
react-kanban-card-adder-form__button
react-kanban-column-header
react-kanban-column-header__button
react-kanban-column-adder-button

用回混号

大声呼喊 @vjanssens (英语) 用于发现与 Remix 兼容的附加步骤.

在您的 Vite 配置中添加以下内容 :

export default defineConfig({
  // the rest of your config
  ssr: {
    noExternal: ["@caldwell619/react-kanban"]
  },
});

捐款

欢迎公关.

步骤

  • 文件 a 问题,使用问题模板.
  • 叉开这个项目.
  • 砍断你的叉子
  • 在你的叉子上,运行 yarn 安装道具
  • 开始工作
  • 将自己添加到贡献者表格中, 这是由 全部贡献者
    • yarn all-contributors add
    • yarn all-contributors generate
  • 提交目标底部横跨叉的公关 christopher-caldwell:master。 。 。 .

版本与发布记录

@caldwell619/react-kanban 共发布 12 个版本,首次发布于 2022/10/03;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.0.12latest2025/02/041.8 年前
0.0.112023/12/232 年前
0.0.102023/12/012 年前
0.0.92023/12/012 年前
0.0.82022/11/024 年前
0.0.72022/11/024 年前

关于 @caldwell619/react-kanban 的常见问题

@caldwell619/react-kanban 是什么?

(fork of) 又一个 Kanban/Trello 棋盘回放

如何安装 @caldwell619/react-kanban?

在项目目录运行 npm install @caldwell619/react-kanban,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(>=16)、react-dom(>=16)、@hello-pangea/dnd(>=16)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@caldwell619/react-kanban 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/caldwell619__react-kanban 是否存在。

@caldwell619/react-kanban 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@caldwell619/react-kanban 可以商用吗?

@caldwell619/react-kanban 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@caldwell619/react-kanban 的下载量有多少?

根据 npm 官方下载统计,@caldwell619/react-kanban 在 2026/10/09 – 2026/11/07 这 30 天内被下载 14,996 次,日均约 500 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@caldwell619/react-kanban 还在维护吗?

最新版本 0.0.12 发布于 2025/02/04(1.8 年前);至今共发布 12 个版本,其中过去 12 个月发布了 0 个;首次发布于 2022/10/03。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。