可选择的DOM元素的React按钮组件

昨晚想了一个可选择的DOM元素的React按钮组件,组件内置了两个DOM元素,除了内置的DOM元素,还可以在Render()渲染的时候,添加可选项来自定义Dom元素。


直接上code

import React from 'react';
import ReactDOM from 'react-dom';
const Button=React.createClass({
//设置props验证方式
    propsTypes:{
          component:React.PropTypes.node,
          classn:React.PropTypes.string,
          active:React.PropTypes.bool,
          href:React.PropTypes.string,
          disabled:React.PropTypes.bool,
          target:React.PropTypes.string
    },
//props默认属性
   getDefaultProps(){
        return{
            active:true,
            disabled:true
        }
    },
//初始化状态
   getInitialState(){

   },
//默认的渲染
   renderADom(classname){
       let{
             href,
             component:Component,
             children,
             props 
        }=this.props;
        Component=Component||'a';//默认a标签
        href=href||'#'
        return 
                  {children}
          
   },
//默认的渲染
   renderButtonDom(classname){
      let{
          href,
          component:Component,
          children,
          props
      }=this.props;
      Component=Component||'button';
      return 
              {children}
      
   },
  render(){
      let{
        href,
        active,
        target,
        classn
      }=this.props;
      let renderType=href || target?'renderADom':'renderButtonDom';//默认渲染button标签
      return this[renderType](classn)
  }
})
export default Button

index.js文件

import React from 'react';
import ReactDOM from 'react-dom';
import Button from './components/Button';
//下面这个是渲染a标签,className是success类名
ReactDOM.render(

你可能感兴趣的:(可选择的DOM元素的React按钮组件)