は、List from Material UIを使用するメニューをリファクタリングしようとしていました。Material UI:Menuリファクタリング
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" />
選択可能。さらに、の値を呼び出すには、メニューが展開されたときにメニューを展開するためにSelectableList id = "menu" value = {location}からMenuItemに値タグを追加する必要がありました。
このリファクタリングはどのように処理しますか?
更新 JSFiddle(簡略化した例):
https://github.com/callemall/material-ui/blob/master/src/List/makeSelectable.js#L18:https://jsfiddle.net/1vk8wzoc/27/
あなたはコードペインまたは何かを投稿できますか?リース? – Chris
良い点、https://jsfiddle.net/1vk8wzoc/27/ – malejpavouk