我已经使用react创建了一个游戏,现在我正在尝试对我的代码+样式进行必要的更改,以便游戏通过ReactNative在移动设备上运行。以下代码来自关于FlatList的官方指南。React Native-- FlatList上的高级示例
1. class MyList extends React.PureComponent {
2. state = {selected: (new Map(): Map<string, boolean>)};
3. _keyExtractor = (item, index) => item.id;
4. _onPressItem = (id: string) => {
// updater functions are preferred for transactional updates
5. this.setState((state) => {
// copy the map rather than modifying state.
6. const selected = new Map(state.selected);
7. selected.set(id, !selected.get(id)); // toggle
8. return {selected}; }); };
虽然我以前使用过这两种ES6箭头的功能和地图,说实话,我很难理解语法在以下两种情况下使用:
一)第2行:发生了什么(new Map(): Map<string, boolean>)
想返回?
b)第4行:一个箭头函数,它作为参数a ...符号?为什么?
嘿,你是对的,它使用的流动。我觉得很奇怪,他们没有感受到这样说的冲动,我的意思是说流动不是很受欢迎。语法虽然很奇怪,但我觉得很正确,我觉得很困惑。我之前曾使用过Google地图,但这完全不同。 – alexandros84