我正在刮一個使用React作爲前端的網站。到目前爲止,我似乎必須使用他們的搜索表單才能到達結果頁面。React如何存儲和響應改變狀態?
問題在於,每次頁面刷新時,網站都會從下拉菜單(其state
)中清除搜索表單的所選選項,因此它會使搜索速度顯着變慢。我知道它是按照預期工作的,但是如果有辦法我可以直接操縱狀態,那麼它可以加速我的刮板,而不是從小按鈕上重新選擇所有的選擇。
我不認爲它使用任何類型的持久存儲或本地存儲可言,每一個選擇,否則可能形式不會對刷新清除。
我可以看到,表單的年份選項始終存在於data-
屬性(data-years=["2017", "2016", ...]
)中,但僅限於多年。當一年(或下拉菜單中的任何選項)被選中時,隱藏字段將填充一個值,例如<input type="hidden" name="year" value="2017">
。
這就是React用於臨時存儲(又名狀態) - 隱藏字段?
對於問題的第二部分,當狀態發生變化時會觸發什麼類型的事件?我怎麼能手動觸發它?例如,當我選擇一年時,我希望表單能夠給出下一個下拉列表的選項 - 給定年份。
「這就是React用於臨時存儲(aka。state) - 隱藏字段的所有內容嗎?」沒有一種方法可以在React中管理狀態。但是,爲此目的使用隱藏字段,如果確實如此,這是非常不尋常的。 –
我同意,React使用隱藏字段看起來很不尋常。但是當你說「在React中沒有一種方法可以管理狀態」時,你的意思是不同版本的React管理狀態有所不同嗎?或者React根據它是一個React道具還是用setState設置的狀態來不同地管理狀態?@Jordan – geminae