【发布时间】:2018-12-18 16:46:07
【问题描述】:
我知道你可以做到以下几点:
import React from "react";
import PropTypes from "prop-types";
const Header = ({ name }) => <div>hi {name}</div>;
Header.propTypes = {
name: PropTypes.string
};
export default Header
但是,我可以为 propTypes 分配匿名导出的默认函数 (export default () =>{}),如下所示?:
export default ({ name }) => <div>hi {name}</div>;
//how do I do this part/ is it possible?
?.propTypes = {
name: PropTypes.string
};
编辑:我试过了:
export default ({ name }) => (<div>
// ----- here ------- (makes sense why, it doesn't work)
static propTypes = {
name: PropTypes.string
}
// ---------------
{name}
</div>);
和:
// -------and like this at bottom --------
default.propTypes = {
name: PropTypes.string
}
// ------------------
我认为不可能,以这种方式导出,只是整体接近的一种尝试。
【问题讨论】:
-
我的意思是...
static仅用于定义类的静态属性,default不是变量。 -
简单问题:为什么?制作这样的匿名组件对您、您的代码库,尤其是未来的开发人员/维护人员(包括一个月后的您自己)没有任何价值。保持代码易于阅读,命名您的 UI 组件,然后让打包程序和压缩程序在需要时进行疯狂的优化。
标签: javascript reactjs ecmascript-6 react-proptypes