react-props-generator
Generate default props and fake props data base on React components's PropTypes
Installation
$ npm install react-props-generator --save-dev
Usage
Notice: Importing this library 'prop-types' before 'react-props-generator'
- Import dependence from the library.
- Add decorators with your component
@ { console return <div> <h3>TestWithDefaultProps Component</h3> Object </div> }
- Use the defaultProps in your component.
Example
git clone https://github.com/hicoldcat/react-props-generator.git cd react-props-generator npm install npm run start
And you with see your Component and defaultProps in console.
API
initPropTypes
Only one arguments is needed if you Use Decorators
If can't support Decorators, Two arguments are needed.
congfig: An Boolean or Object type of config the generator.
- false: Default value. Use default value to gennerate props.
DefaultPropsValue'array' = { return ; }; DefaultPropsValue'bool' = { return true; }; DefaultPropsValue'func' = { return {}; }; DefaultPropsValue'number' = { return 1; }; DefaultPropsValue'object' = { return {}; }; DefaultPropsValue'string' = { return ''; }; DefaultPropsValue'symbol' = { return Symbol''; }; DefaultPropsValue'element' = { return React; }; DefaultPropsValue'node' = { return DefaultPropsValue'element'propName propType arg; }; DefaultPropsValue'any' = { return DefaultPropsValue'string'propName propType arg; }; DefaultPropsValue'oneOf' = { return arg0 ? arg0 : null; }; DefaultPropsValue'arrayOf' = { return argproptype ? DefaultPropsValueargproptypepropName propType arg : ; }; DefaultPropsValue'objectOf' = { return argproptype ? key: DefaultPropsValueargproptypepropName propType arg : {}; }; DefaultPropsValue'oneOfType' = { return arg0 && arg0proptype ? DefaultPropsValuearg0proptypepropName propType arg : DefaultPropsValue'any'propName propType arg; }; DefaultPropsValue'instanceOf' = { return Arg ? : null; }; DefaultPropsValue'shape' = { return arg ? : {}; }; DefaultPropsValue'exact' = { return DefaultPropsValue'shape'propName propType arg source; };
- true: Fake data.
FakePropsValue'array' = { return Mock'array'; }; FakePropsValue'bool' = { return Mock'boolean'; }; FakePropsValue'func' = { return {}; }; FakePropsValue'number' = { return Mock'number'; }; FakePropsValue'object' = { return {}; }; FakePropsValue'string' = { return Mock'string'; }; FakePropsValue'symbol' = { return Symbol''; }; FakePropsValue'element' = { return React; }; // 默认使用element来作为node默认值 FakePropsValue'node' = { return FakePropsValue'element'propName propType arg; }; // 默认使用string来作为any默认值 FakePropsValue'any' = { return FakePropsValue'string'propName propType arg; }; FakePropsValue'oneOf' = { return arg0 ? arg0 : null; }; FakePropsValue'arrayOf' = { return argproptype ? FakePropsValueargproptypepropName propType arg : ; }; FakePropsValue'objectOf' = { return argproptype ? key: FakePropsValueargproptypepropName propType arg : {}; }; FakePropsValue'oneOfType' = { return arg0 && arg0proptype ? FakePropsValuearg0proptypepropName propType arg : FakePropsValue'any'propName propType arg; }; FakePropsValue'instanceOf' = { return Arg ? : null; }; FakePropsValue'shape' = { return arg ? : {}; }; // 默认使用shape来生成exact FakePropsValue'exact' = { return FakePropsValue'shape'propName propType arg source; };
- {}: Custom config. Depend on you config
If you not defined, Use default props to instead.
defaultProps
Return the default props values of generate.