- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
想到一个简单的例子比如:
class CommentAreaComponent extends React.Component {
static propTypes = {
id: PropTypes.string.isRequired,
loading: PropTypes.bool,
};
static defaultProps = {
loading: false,
};
在构造函数中我可以定义这样的东西来实现(我认为)同样的事情:
class MyComponent extends React.Component {
constructor({
loading = false,
}:{
id:string,
loading?:boolean
}) {
super(arguments[0]);
}
}
第二个示例仅使用 Flowtype。使用 Reacts PropTypes 和 DefaultProps 有优势吗?或者我可以在使用 FlowType 时完全放弃它们吗?
最佳答案
您当然可以使用 Flow 类型而不是 React PropTypes,但是您建议的语法不是常用的方法。参见 Flow docs (向下滚动查看 ES6 语法):
class Button extends React.Component {
props: {
title: string,
visited: boolean,
onClick: () => void,
};
state: {
display: 'static' | 'hover' | 'active';
};
static defaultProps = {
visited: false,
};
constructor(props) {
super(props);
this.state = {
display: 'static',
};
}
render() {
let className = 'button ' + this.state.display;
if (this.props.visited) {
//...
}
return (/*...*/);
}
}
唯一不能用 Flow 类型做但可以用 PropTypes 做的事情是定义 custom validators (例如,检查 prop 是否是有效的电子邮件)。
我还有更多Flow React examples on github ,但我还没有用 Flow v0.22 测试它们,只有 v0.21。他们可能需要稍作调整。
关于javascript - Reacts `propTypes` 和 `defaultProps` 应该和 Flowtype 一起使用,还是 Flowtype 够全面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36783982/
我已经搜索了 flowtype 的文档,但找不到与类型推断相关的内容,例如: function add(x){ return x+10; } 使用flowtype后变成: function add
在以下示例中,由于我使用 switch 语句匹配消息类型,因此我希望流程能够识别我的错误大小写“ENUM_TYPO”。目前没有。 type Message = 'BROADCAST_MESSAGE'
我是spacemacs扇子。我想使用Facebook Flow但我不知道如何将它与 spacemacs 集成。我正在将 flow 与 nuclide 结合使用,但我需要重新学习一切才能提高工作效率。有
为了性能起见,我想忽略我的 .flowconfig [ignore] 部分中的整个 node_modules,但包括我使用的一些目录,例如“react”。 有人知道怎么做吗? 我基本上想忽略所有影响
安装在package.json上 "babel-preset-flow": "^6.23.0", "eslint-plugin-flowtype": "2.35.1", "flow-bin": "^0
想到一个简单的例子比如: class CommentAreaComponent extends React.Component { static propTypes = { id: PropT
我想确保我得到的值是一个十六进制字符串。目前我说 type Color = string; function foo(color: Color){} 但我想说 type Color = '#' + s
我不知道如何在两个文件中共享类型定义。考虑: // /file_a.js export const randomVariable: MySharedType = {thing: true}; // /
Flow 的文档说:When you create an object without any properties, you create an unsealed object type in Fl
免责声明:一般来说,我还是有点新的 Flow 和静态类型,所以我很可能忽略了这个问题的一些简单/明显的东西。 假设我有一个名为 my-library 的库.该库向其用户公开了一个模块,index.js
给定以下代码: /* @flow */ interface IDefaultSettings { Drivers?: {}, Options?: {} } const defaultSetti
我试图定义一个对象不能有某个键。 这是我的案例: alert({ items: [{ label:'Apple' }, { label:'Orange' }] }) alert({ ite
添加Flowtype是否可行现有的大型项目? 我添加了 /* @flow weak */到单个 .js文件,然后运行 flow check它突出了对全局定义库的大量函数调用,因为它不知道它们是什么
如何在流程中实现以下目标 export type Response = { err: string, data: ?Array, } | { data: Array, }; 我想表达一个类
我对flow check和flow的作用尚不完全清楚。运行flow似乎可以启动服务器,并检查所有代码。由于服务器正在运行,因此flow的后续执行速度更快。 flow check似乎也进行了完整的代码检
在 Flow 中,为什么要使用类而不是类型? type Point = {x: number; y: number}; class Point = {x: number; y: number}; 最佳
很多时候我发现自己作为 arg 传递了一个特定的 Shape 类型,但是每个键都是可选的,只有至少一个是必需的。 例如: type Shape = { +isFetching: boolean
我想知道如何避免这些大量的空检查,或者至少了解重点是什么,因为它似乎适得其反。 如果我省略空检查,Flowtype 会给我一个错误: var myEl = new MyElement() if (do
我有一个函数foo : function foo(a: string, b: string, c: number, d: boolean): Promise { return new Promis
给定默认值,如何定义config参数的类型? function (config = {}) {}; 最佳答案 function f(config: Object = {}) {} 或者,更一般而言:
我是一名优秀的程序员,十分优秀!