学习反应
学习反应
好久没写了,因为实在是太忙了。但我确实想尝试跟踪我的学习,为我自己以及任何其他想了解一些过程/旅程的人。这是表达我的想法的好方法,就像编码一样,重要的是把想法写在纸上,至少达到一定程度的完成,这样它们才能合并并形成里程碑。
所以,学习 React.js 很有趣。我可以在这里写很多关于学习编程的文章,以及在我看来 React 是一个很好的高潮。它最终看到了如此多的原则和技能的运用。其中最主要的实际上是使用面向对象编程 (OOP),并将其作为设计和编写程序的范例。
早在五月份,我就在做一个项目,这是一项临时的家庭作业,目的是:
- 编写程序以使用 API 获取数据。
- 使用样式来表示返回的数据。
- 写井字游戏
它们不应该全部完成,或者在同一个任务中完成,但我决定一起做。所以我做了一个星球大战井字游戏,实现了一些我在教程中看到的算法(minimax算法,因为当我有一个周末用python为自己写井字游戏时,我有很多在我正在制作的玩家与电脑游戏中,除了随机性之外的任何合理性都存在麻烦)。
tic-tac-toe with minimax algorithm
因此,要与 Star Wars API 一起制作它( https://swapi.dev/ )我打算调用数据,这只是关于星球大战角色的信息(我认为还有更多,关于行星、设备和车辆等),按照它们出现的顺序,并显示在卡片中。继续前进,我打算让一个小丘巴卡同伴在屏幕的角落做向导,讲指令和一些 wookie 胡言乱语,并在 API 调用后用数据渲染卡片,以便玩家可以选择在游戏屏幕上扮演的角色。这一切只需要使用 HTML、CSS 和 JS 来完成。
我遇到了一个又一个问题,因为我真的不知道如何做这些事情,并且使用 API 本身花了我几个小时。我把卡片渲染成一种破碎的旋转木马,为标题屏幕提供了一些不错的空间主题以及星球大战字体中的一些文本,这不是最容易使用的东西。但最困难的事情是处理数据,因为我不知道如何让玩家选择(我想拿走整张卡片,然后将 HTML 元素发送到游戏的下一页)来转移。我试图弄清楚如何存储数据,但我做不到(可能有办法,但它可能比仅使用 React 复杂得多)。如果页面刷新并擦除变量,JS 将重新运行,除非我弄错了,所以我什至无法弄清楚如何将 ID 发送到下一页并让网站再次获取数据并选择播放器选择并以相同的格式重新渲染卡片。
我为此苦苦挣扎了一段时间,最终放弃了,但我听说过一些关于在 Web 应用程序中处理数据的讨论。尽管整件事令人沮丧,但我希望我能像这样推动自己,因为我遇到了几乎所有我认为 React 应该解决的问题,并且急切地解决它们,而不是仅仅将它们视为抽象的脱离上下文学习的东西。到目前为止,我见过的最常见的情况是处理客户输入并根据帐户设置或所选项目等内容在不同页面上呈现数据以呈现购物车或结帐页面。
就全栈开发而言,不仅仅是在单个交互中做出选择,例如设置用户帐户和检索信息以根据用户设置以不同方式呈现网站,因为即使使用一个 JS 框架,但是看到在 React 中处理状态的各种方式以及数据如何在应用程序中流动到多个页面/组件,以及这些数据如何改变呈现的内容和呈现方式也非常有趣,就像我一直在努力做的那样。 OOP 真正的“魔力”对我来说有点生机勃勃,而且正如经常发生的那样,我有点不知所措,我有点不知所措,以及你可以用模块化的代码制作这样一个系统的复杂程度,并且变得非常可重用和适应性强到大量特定的 UI 案例。这也非常清楚地向我展示了对我来说更无聊的东西的必要性,UML 和应用程序的映射正是出于这个原因,以跟踪所有这些情况以及如何利用它们来使最常用的应用程序用户。
我觉得这是我真正觉得自己正在学习编程的具体实例,这些事情都变得清晰起来,并且具有整体意义(尽管仍有很多杂草需要研究)。我认为真正推动和工作达到或超出你的极限和舒适水平是非常重要和有价值的,这样事情才能真正以这种方式发生,尽管这肯定是困难和令人沮丧的,并且可能非常令人沮丧。
暂时就这些了,我稍后会尝试写更多关于我学到的东西(也许我会尝试重新尝试在 React 中实际写出星球大战井字游戏,我还没有做,但需要)。
小心,
标记
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明