我正在創建多語言應用程序。所以我想把語言屬性傳播給所有的後代。因此,我可以廣告語前綴在我的應用程序 各個環節和途徑,我知道兩種方法可以做到這一點:將語言作爲父組件的動態屬性傳遞給React中的所有後代
- 使用上下文,但不建議使用它,因爲它是實驗性的。使用
- Redux的商店,但在這種情況下,我需要每一個組件連接到商店。
所以我想知道哪種情況更可取或者如果沒有這些情況,那麼可能會有另一種選擇。
P.S.
3.通過從組件屬性到每一個孩子的所有層次深,就像這樣:
<Component1 lang={props.lang} />
<Component2 lang={props.lang} />
<Component3 lang={props.lang} />
<Component4 lang={props.lang} />
....
<Component#N lang={props.lang} />
通常,語言代碼會在網址中顯示,因爲這也用於搜索引擎優化的目的,並使其更容易管理。然後,您可以將語言代碼作爲參數傳播到組件。 – Fawaz
或者你可以使用'道具'。根組件會從某處(可能來自url)獲取語言並通過'props'傳遞給兒童 –
@Fawaz這就是我想要的 –