preact是否有类似反应proptypes的东西?

时间:2018-06-13 03:20:14

标签: reactjs preact

就像道具类型一样,preact

中有类似的东西

类似于此:

const Component = React.createClass({
  propTypes: {
    name: React.PropTypes.string //here we define expected type of the prop
  },
  // ...
})

<Component name="Ari" /> // a component having prop name 

1 个答案:

答案 0 :(得分:1)

您应该能够use PropTypes使用preact-compact,即Preact的React兼容层:

  

preact-compat完全支持PropTypes,您也​​可以手动使用它们。

使用Webpack或Browserify别名,现有的React模块应该可以很好地工作:

import React, { Component } from 'react';
import { render } from 'react-dom';

class Foo extends Component {
    propTypes = {
        a: React.PropTypes.string.isRequired
    };
    render() {
        let { a, b, children } = this.props;
        return <div {...{a,b}}>{ children }</div>;
    }
}

render((
    <Foo a="a">test</Foo>
), document.body);

This GitHub问题还描述了一个未记录的钩子函数,可用于检查任意类方法的PropTypes。