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

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

Open
doochik wants to merge 3 commits intonarqo:masterfrom
doochik:menu2
Open

Эксперимент с Menu <Menu2 renderItem={<MenuItem2/>}>#3
doochik wants to merge 3 commits intonarqo:masterfrom
doochik:menu2

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