文件名称:世界探险家
文件大小:115KB
文件格式:ZIP
更新时间:2024-03-13 21:01:53
TypeScript
世界探险家 您做了什么选择,为什么? 我使用作为框架,因为我熟悉它,并且它提供了一个明智的起点。 自动完成功能主要基于构建,并紧密基于Clientside Search示例。 高质量的自动完成功能具有多种复杂的行为(例如,键盘支持和完全可访问性),并且该库提供了未样式化,经过良好测试的组件以供使用。 和用于HTTP请求,因为我喜欢基于钩子的方法。 负责样式设计,我喜欢它,因为它没有运行时开销(与CSS-in-JS解决方案不同),并且避免创建多余的中间组件(例如Container或Stack)。 为了方便起见, 用于托管。 我使用过滤搜索结果-尽管起初可能有点陌生,但我坚信比将简单的函子组合在一起是处理数据的最佳方法。 您面临什么挑战? 我最初以为自己会从头开始编写自动完成功能会给人留下深刻的印象,然后才意识到有多少个边缘情况! 不幸的是,由于TS对泛型的支持不佳,Ramda对Types
【文件预览】:
world-explorer-main
----pages()
--------index.tsx(560B)
--------_app.tsx(627B)
----postcss.config.js(82B)
----yarn.lock(245KB)
----next-env.d.ts(75B)
----styles()
--------styles.css(262B)
----tailwind.config.js(453B)
----.babelrc(31B)
----components()
--------Search.tsx(1KB)
--------Search.test.tsx(2KB)
--------Layout.tsx(518B)
--------CountryInfo.test.tsx(2KB)
--------Header.test.tsx(279B)
--------Header.tsx(248B)
--------CountryInfo.tsx(1008B)
--------Backpack.tsx(22KB)
----tsconfig.json(582B)
----config()
--------jest()
----.env.local(59B)
----jest.config.js(551B)
----README.md(3KB)
----setupTests.js(48B)
----hooks()
--------useFetchCountry.ts(1KB)
--------useFetchCountries.ts(512B)
--------useSearchCountries.ts(678B)
--------useSearchCountries.test.ts(343B)
----.gitignore(388B)
----package.json(1KB)