首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于组件的React动态模板

用于组件的React动态模板
EN

Stack Overflow用户
提问于 2018-01-19 23:07:08
回答 2查看 1.3K关注 0票数 1

考虑以下组件:ItemsDisplay具有业务逻辑,而ListTable只是具有相同接口的可视化。

代码语言:javascript
复制
class ItemsDisplay extends Component {
    componentDidMount() {
        fetch().then(items => this.setState({ items }))
    }

    remove(item) {
        // remove item from state
    }

    render() {
        return this.props.children
    }
}
代码语言:javascript
复制
const List = ({ items, onRemove }) => (
    <ul>
        {items.map(item => <li onClick="onRemove()">{item}</li>)}
    </ul>
)
代码语言:javascript
复制
const Table = ({ items, onRemove }) => (
    <table>
        {items.map(item => (
            <tr onClick="onRemove()">
                <td>{item}</td>
            </tr>
        ))}
    </table>
)

如何将ItemsDisplay与我的两个不同的可视化效果一起使用?有没有这样的模式?或者我需要创建一个ItemsDisplayList和另一个ItemsDisplayTable

代码语言:javascript
复制
<ItemsDisplay>
    <List items="items from ItemsDisplay" onRemove="remove rom ItemsDisplay" />
</ItemsDisplay>

<ItemsDisplay>
    <Table items="items from ItemsDisplay" onRemove="remove rom ItemsDisplay" />
</ItemsDisplay>
EN

Stack Overflow用户

发布于 2018-01-20 00:25:15

代码语言:javascript
复制
const ItemDisplayList = ({ items, onRemove, list}) => {
    if(list) {
      return(
        <ul>
          {items.map(item => <li onClick="onRemove()">{item}</li>)}
        </ul>);
    } else {
    return(
        <table>
          {items.map(item => (
            <tr onClick="onRemove()">
            <td>{item}</td>
            </tr>
          ))}
        </table>);
    }
}

然后:

代码语言:javascript
复制
<ItemsDisplay>
    <ItemDsplayList list={true} items="items from ItemsDisplay" onRemove="remove rom ItemsDisplay" />
</ItemsDisplay>

代码语言:javascript
复制
<ItemsDisplay>
    <ItemDsplayList list={false} items="items from ItemsDisplay" onRemove="remove rom ItemsDisplay" />
</ItemsDisplay>
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48344030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档