码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2017-05-16 21:45:10      阅读:239      评论:0      收藏:0      [点我收藏+]

标签:return   tput   help   pre   app   use   compose   and   cli   

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

标签:return   tput   help   pre   app   use   compose   and   cli   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!