首页 > Web开发 > 详细

[Recompose] Set the HTML Tag of a Component via a Prop using Recompose

时间:2017-05-16 21:24:25      阅读:331      评论:0      收藏:0      [点我收藏+]

Learn how to user the ‘componentFromProp’ helper and ‘defaultProps’ higher order component to swap the underlying html tag of your component. Sometimes we want a component to behave the same overall but to use a different element in the HTML output. An example is swapping an for a or even a react router depending on circumstance.

const { Component } = React;
const { compose, componentFromProp, withProps } = Recompose;


const enhance = compose(
  withProps(
    ({ type=a, to=# }) => {
      return type === a
      ? { type, href: to }
      : { type, onClick(e) { window.location=to }};
    })
);
const Link = enhance(componentFromProp(type));

 

Passing the props:

const App = () =>
  <div className="App">
    <Link to="#/page1">Anchor Link</Link>
    <Link type="button" to="#/page2">Button Link</Link>
  </div>

 

[Recompose] Set the HTML Tag of a Component via a Prop using Recompose

原文:http://www.cnblogs.com/Answer1215/p/6863654.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!