为什么没有在功能组件中获得我期望的变量,这是什么原因?

asnyder002

我熟悉useState挂钩,该挂钩用于存储已更改且需要重新加载组件的变量。变量不是每个函数调用都本地的吗?例如,我有一个将票证信息传递到的功能组件。我将该信息存储在一个变量中,并将其传递到另一个屏幕。该组件在平面列表中呈现,具体取决于调用哪个组件,我想存储该值并将其传递给另一个屏幕。我的问题是,该值正存储在本地对象中,但是仅显示了最后一项的值,而不是按下的项。这是我的代码:

如果我从参数中保存票证,使用“ siteCode”对其进行更新,然后将其传递给onPress事件的参数,则不会得到我想要的结果。如果我在自定义对象之外传递siteCode,则会得到我正在寻找的结果。我只想了解我在这里所缺少的。即使我不想再次渲染组件,我是否仍需要使用useState挂钩?谢谢

杰瑞德·史密斯(Jared Smith)

您正在违反合同,因此很遗憾您得到的一切。而且,由于它不是受支持的用例,因此您很难期望它也不会在不同的React版本中更改。

React期望纯功能组件是纯功能组件(相对透明,无副作用)。您正在更改道具,正如我所说,它不被支持(这在React回购的github问题上似乎很多)。

在过去,如果您的组件不是纯组件,则可以使用一个类。现在我们有了钩子,但是钩子实际上是一个聪明的解决方法:因为React知道钩子,所以您没有违反功能组件协定。但这并不意味着一切都会发生,如果您有副作用(例如,使在其他地方定义的对象发生变异),则需要将其放上钩,否则会发生棘手的事情。

NB即使在一个班,甚至是完全外反应过来,这是很少(从未?)一个好主意,参数变异的功能,除非该突变的功能做的唯一的事情。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

是什么原因导致与npm无法找到文件相关的错误?我的node_modules子文件夹中没有内容。这是为什么?

来自分类Dev

不纯功能语言OCaml的“让我来做”是什么原因?

来自分类Dev

@strongify是什么原因

来自分类Dev

是什么原因导致pyspark中的“ unicode”对象没有属性“ toordinal”?

来自分类Dev

是什么原因导致“ java.lang.IllegalArgumentException:没有为键提供值”?

来自分类Dev

为什么在Node中没有调用我的功能代理?

来自分类Dev

我有一个错误,但我没有弄清楚是什么原因引起的

来自分类Dev

为什么我的变量没有在我的Makefile中扩展?

来自分类Dev

没有反向匹配错误,不知道是什么原因

来自分类Dev

是什么原因导致GraphQL / Gatsby中的[“ String”没有子字段]图像错误?

来自分类Dev

在Dockerfile中推荐WORKDIR时出错,这是什么原因?

来自分类Dev

是什么原因导致Electron没有显示任何错误?

来自分类Dev

是什么原因导致该组件在我的Svelte应用程序中创建时没有预期的prop错误?

来自分类Dev

为什么我的组件模板没有显示在Vue中?

来自分类Dev

为什么我的游戏板元素无法显示在html文件中是什么原因?

来自分类Dev

Osmnx python graph_to_gdfs有时会在名称列中返回一个列表,这是什么原因造成的?

来自分类Dev

是什么原因导致我的功能键停止工作?

来自分类Dev

是什么原因导致打开跟踪文件错误:没有这样的文件或目录?

来自分类Dev

是什么原因导致htop进程没有名称?

来自分类Dev

Windows批处理中IF语句中的变量前的斜杠是什么原因?

来自分类Dev

为什么我没有在日志中获得 JSON 正文?

来自分类Dev

我的 java 文件在调用方法后意外打印了两行代码。这是什么原因造成的?

来自分类Dev

遵守时班级没有显示任何内容......可能是什么原因?

来自分类Dev

我的 ArrayList 中的数据重复了数组的最后输入的数据。这是什么原因?

来自分类Dev

为什么我们不能在其他线程中更新视图,当我们这样做时,它报告异常,是什么原因

来自分类Dev

这是什么原因,因为我有空错误?LINQ LeftJoin 问题

来自分类Dev

为什么我的功能组件没有重新渲染?

来自分类Dev

“if语句”删除,c代码运行没有问题,是什么原因?

来自分类Dev

json mal 功能可能是什么原因?

Related 相关文章

  1. 1

    是什么原因导致与npm无法找到文件相关的错误?我的node_modules子文件夹中没有内容。这是为什么?

  2. 2

    不纯功能语言OCaml的“让我来做”是什么原因?

  3. 3

    @strongify是什么原因

  4. 4

    是什么原因导致pyspark中的“ unicode”对象没有属性“ toordinal”?

  5. 5

    是什么原因导致“ java.lang.IllegalArgumentException:没有为键提供值”?

  6. 6

    为什么在Node中没有调用我的功能代理?

  7. 7

    我有一个错误,但我没有弄清楚是什么原因引起的

  8. 8

    为什么我的变量没有在我的Makefile中扩展?

  9. 9

    没有反向匹配错误,不知道是什么原因

  10. 10

    是什么原因导致GraphQL / Gatsby中的[“ String”没有子字段]图像错误?

  11. 11

    在Dockerfile中推荐WORKDIR时出错,这是什么原因?

  12. 12

    是什么原因导致Electron没有显示任何错误?

  13. 13

    是什么原因导致该组件在我的Svelte应用程序中创建时没有预期的prop错误?

  14. 14

    为什么我的组件模板没有显示在Vue中?

  15. 15

    为什么我的游戏板元素无法显示在html文件中是什么原因?

  16. 16

    Osmnx python graph_to_gdfs有时会在名称列中返回一个列表,这是什么原因造成的?

  17. 17

    是什么原因导致我的功能键停止工作?

  18. 18

    是什么原因导致打开跟踪文件错误:没有这样的文件或目录?

  19. 19

    是什么原因导致htop进程没有名称?

  20. 20

    Windows批处理中IF语句中的变量前的斜杠是什么原因?

  21. 21

    为什么我没有在日志中获得 JSON 正文?

  22. 22

    我的 java 文件在调用方法后意外打印了两行代码。这是什么原因造成的?

  23. 23

    遵守时班级没有显示任何内容......可能是什么原因?

  24. 24

    我的 ArrayList 中的数据重复了数组的最后输入的数据。这是什么原因?

  25. 25

    为什么我们不能在其他线程中更新视图,当我们这样做时,它报告异常,是什么原因

  26. 26

    这是什么原因,因为我有空错误?LINQ LeftJoin 问题

  27. 27

    为什么我的功能组件没有重新渲染?

  28. 28

    “if语句”删除,c代码运行没有问题,是什么原因?

  29. 29

    json mal 功能可能是什么原因?

热门标签

归档