![](/img/trans.png)
[英]How do you access react hooks in multiple components? What am I doing wrong with my react hook?
[英]how do you do dot notation react components with react hooks?
我見過一些庫在 React 中使用點符號組件
例如
<Menu>
<Menu.Item>Item 1</Menu.Item>
<Menu.Item>Item 2</Menu.Item>
</Menu>
這是在 class 組件中使用 static 關鍵字,例如
const Item = () => ...code
class Menu extends Component {
static Item = Item
...code
由於帶有 React 鈎子的功能組件不是 class 組件,因此這種模式仍然可以以某種方式與功能組件一起使用(例如訪問原型或其他東西嗎?)
這還能做嗎?
這種模式稱為復合組件。 要將模式與功能組件一起使用,只需添加子組件 ( Item
) 作為主組件 ( Menu
) 的屬性。
您可以在肯特 C 中找到更多信息。 Dodds 文章 - React Hooks:復合組件。
const Item = ({ children }) => (<li>{children}</li>); const Menu = ({ children }) => (<ul>{children}</ul>); Menu.Item = Item; ReactDOM.render( <Menu> <Menu.Item>Item 1</Menu.Item> <Menu.Item>Item 2</Menu.Item> </Menu>, root );
<script crossorigin src="https://unpkg.com/react@16/umd/react.development.js"></script> <script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script> <div id="root"></div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.