【发布时间】:2017-02-03 17:20:05
【问题描述】:
我正在抓取一个使用 React 作为前端的网站。到目前为止,我似乎必须使用他们的搜索表单才能到达结果页面。
问题在于,每次刷新页面时,该站点都会从下拉列表(其state)中清除搜索表单的选定选项,因此会显着降低抓取速度。我知道它按预期工作,但如果有一种方法可以直接操纵状态,那么它可以加快我的抓取速度,而不是从小按钮中重新选择所有选项。
我认为它根本不使用任何类型的持久存储或本地存储,对于每个选择,否则表单可能不会在刷新时被清除.
我可以看到表单的年份选项始终存在于data-attribute (data-years=["2017", "2016", ...]) 中,但仅针对年份。 And when a year (or any option from the dropdowns) is selected, a hidden field is populated with a value such as <input type="hidden" name="year" value="2017">.
这就是 React 用于临时存储(又名。state)的全部 - 隐藏字段吗?
对于我的问题的第二部分,当状态发生变化时会触发什么类型的事件?我怎么能手动触发它?例如,当我选择一年时,我希望表单为我提供下一个下拉菜单的选项 - 给定年份。
【问题讨论】:
-
“这就是 React 用于临时存储(又名状态)的全部内容——隐藏字段吗?”在 React 中没有一种方法可以管理状态。但是,为此目的使用隐藏字段(如果确实是这样的话)是非常不寻常的。
-
我同意,React 使用隐藏字段似乎不寻常。但是当你说“React 中没有一种管理状态的方法”时,你的意思是说不同版本的 React 管理状态的方式不同吗?或者 React 管理状态的方式不同,具体取决于它是 React 道具还是使用 setState 设置的状态? @乔丹
标签: reactjs