은 List from Material UI를 사용하는 메뉴를 리팩터링하려고했습니다.Material UI : 메뉴 리팩토링
unrefactored 메뉴는이
<SelectableList id="menu" value={location}>
<ListItem primaryText="Encoding" primaryTogglesNestedList={true} value="/encoding" nestedItems={[
<ListItem primaryText="Base32" containerElement={<Link to="/base32"/>} value="/base32"/>,
<ListItem primaryText="Base32Hex" containerElement={<Link to="/base32Hex"/>} value="/base32Hex"/>,
<ListItem primaryText="Base64" containerElement={<Link to="/base64"/>} value="/base64"/>,
모양과 상용구를 많이 분명히있다, 그래서 나는 코드
import React from 'react';
import {ListItem} from 'material-ui/List'
import {Link} from 'react-router'
const MenuItem = ({anchor, ...other}) => (
<ListItem containerElement={<Link to={anchor} />} value={anchor} {...other} key={"item-"+ anchor}/>
);
export default MenuItem;
에 duplicities을 처리 할 것이다, 사용자 정의 구성 요소를 만들하기로 결정 문제는 내가 그것을 사용했을 때이다.
<MenuItem primaryText="Base32" anchor="/base32" />
menuItem이 선택할 수 있습니다. 더 나아가, SelectableList id = "menu"value = {location} (페이지가 다시로드 될 때 메뉴를 확장하기 위해) 값을 다시 호출하려면 MenuItem에도 value 태그를 추가해야했습니다.
이 리팩터링은 어떻게 처리해야합니까?
업데이트 JSFiddle (간체 예) :
https://github.com/callemall/material-ui/blob/master/src/List/makeSelectable.js#L18 : https://jsfiddle.net/1vk8wzoc/27/
당신이 codepen 또는 어떤 페이지를 게시 할 수
makeSelectable
기능에 대한 권리 요소가 될 것으로 보인다 임차권? – Chris좋은 지적, https://jsfiddle.net/1vk8wzoc/27/ – malejpavouk