over 2 years ago

今天在看 react-router 的範例 query params 時,看到了神奇的用法。一個自定義的 Component 在沒有接收 props 的情況下,居然可以參照到 parent 的屬性。這一切都是 Context 的緣故。

這個用法很早就被加入,被放在 1.0 的 roadmap 裡面。官方也很坦蕩蕩的說:「我們沒寫文件」。他們很早就發現這是一個很需要的功能,但由於效能的考量,並沒有正式對外公開。

最簡單的使用情境是,當你想把一個 callback function 向下傳遞數層,肯定會發現,需要透過 this.props.xxx 重複多次傳遞。一旦利用 Context 以隱含向下傳遞 (implicitly passed down) 的方式往下送,就可以直接在需要的 children 取出使用。

詳細的例子請參照 Introduction to contexts in React.js 的介紹。

← React + Livescript Inspect co →
 
comments powered by Disqus