我们可以像这样为ListView创建数据源
var ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2});
var dataSource = ds.cloneWithRows(['row 1', 'row 2']), };
Run Code Online (Sandbox Code Playgroud)
但是,如果我想添加项目或从数据源中删除项目,我该怎么做?我是否需要始终使用更新的数组调用cloneWithRows?
// before
module.exports = require('./inner.js');
// nowadays
export default from './inner.js';
Run Code Online (Sandbox Code Playgroud)
我正在努力做到这一点,但是babel只在es7阶段1中允许它,因为它现在是提议.所以现在,我坚持这两行:
import sticker from './box-sticker.jsx';
export default sticker;
Run Code Online (Sandbox Code Playgroud)
我可以将它们缩短为一个吗?
我有一个带有onChange处理程序的React组件:
// @flow
import React, {Component} from 'react';
export default class MyList extends Component {
handleChange = (event) => {
// Do something with event.target.value
// which will be the value typed in the input field.
}
render() {
return (
<input type="text" onChange={this.handleChange}> />
);
}
}
Run Code Online (Sandbox Code Playgroud)
和Flow抱怨这个,因为它是一个导出的类:
Parameter `event` missing annotation
如何event在handleChange函数中注释参数?据我所知,此事件是在JavaScript级别生成的,没有任何Flow类型.
或者,可以将Flow配置为不显示这些"缺失注释"错误吗?