Hacker News

此示例演示如何将 RSS 提要显示为列表。

该示例的源代码可以在 这里 找到。您可以在 此处 安装它。

谁不喜欢早上喝着热咖啡阅读一下 Hacker News ?在此示例中,我们会创建一个简单的列表,其中包含首页上的热门新闻。

示例:阅读 Hacker News 的头版

加载热门新闻

首先,让我们了解最新的头条新闻。为此,我们使用一个 RSS feed:

分解一下:

  • 我们使用第三方依赖项来解析 RSS 提要。

  • 我们将 command state 定义为 TypeScript 接口。

  • 在命令挂载后,我们使用 React 的 useEffect 来解析 RSS feed。

  • 我们将头条新闻打印到控制台。

  • 只要我们加载新闻,我们就会渲染一个列表并显示 loading 指示器。

渲染新闻

现在我们从 Hacker News 获得了数据,我们想要展示这些新闻。为此,我们创建一个新的 React 组件和一些渲染新闻的辅助函数:

为了让列表项看起来更漂亮,我们使用一个简单的数字表情符号作为图标,添加创建者的名字作为副标题,添加 points 和评论作为附件标题。现在我们可以渲染 <StoryListItem>:

添加操作

当我们在列表中选择一个故事时,我们希望能够在浏览器中打开它并复制它的链接,以便我们可以在 Watercooler Slack 频道中共享它。为此,我们创建一个新的 React 组件:

该组件采用一个故事并使用我们所需的操作渲染一个 <ActionPanel> 。我们将操作添加到 <StoryListItem>:

错误处理

最后,我们希望适当地处理错误以保证流畅的体验。每当我们的网络请求失败时,我们都会显示一个 toast:

结尾

就是这样,您就有了一个可以阅读 Hacker News 首页的扩展。作为后续步骤,您可以添加另一个命令来显示作业源或添加一个操作来复制 Markdown 格式的链接。

最后更新于