Skip to content
This repository has been archived by the owner on Sep 11, 2019. It is now read-only.

Эксперимент с Menu <Menu2 renderItem={<MenuItem2/>}> #3

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

doochik
Copy link
Collaborator

@doochik doochik commented Apr 14, 2016

Запилил ради интереса, чтобы можно было передавать каким компонентом рендерить элемент меню.

*
* <Menu2
* theme="islands"
* renderItem={<MenuItem2/>}
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

По-моему — адЪ. Я бы совсем не хотел, на проекте так описывать компоненты.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

У этого подхода есть несколько плюсов (хотя минусов тоже хватает :) ).

Почти любой нестандартный MenuItem разработчик рано или поздно завернет в компонент, а значит он из раза в раз будет писать одну и ту же балалайку в своем коде

<Menu>
{data.map((item) => <MyMenuItem/>)}
</Menu>

Плюс такой подход скрывает реализацию Menu и еще приближает к более удобной схеме генерации: массив + render fn = список

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants