小编Nan*_*ndi的帖子

反应本机矢量图标以适应父容器而不指定尺寸道具(Expo)

我正在使用 Expo 提供的矢量图标https://github.com/expo/vector-icons

所有图标都接受一个整数的 size 属性,我的用例是看看是否可以根据父容器自动调整图标大小,而不必担心每个设备上的大小(因为大小似乎会翻译尽管像素比、尺寸等不同,但每个设备上都相同)

<View style={{flex: 1}}>
  <Icon name="app-logo" size={30} color="white" />
</View>    
Run Code Online (Sandbox Code Playgroud)

我尝试将 style 属性设置为以下选项,但没有成功。我希望这不会起作用,因为毕竟它们只是字体,并且不需要支持widthheight

<Icon name="app-logo" style={{flex: 1}} color="white" />
Run Code Online (Sandbox Code Playgroud)
<Icon name="app-logo" style={{width: '100%', height: '100%' color="white" />
Run Code Online (Sandbox Code Playgroud)

有没有更干净或建议的方法来做到这一点?使用设备的尺寸和比例是我最后的手段。

reactjs react-native expo

6
推荐指数
1
解决办法
2298
查看次数

Right way to clone objects / arrays during setState in React

I start with:

constructor() {
   super();
      this.state = {
         lists: ['Dogs','Cats'], 
         items: {Dogs: [{name: "Snoopy"}, {name: "Lola"}, {name: "Sprinkles"}], 
                 Cats: [{name: "Felidae"}, {name: "Garfiled"}, {name: "Cat in the Hat"}] }             
   };

}
Run Code Online (Sandbox Code Playgroud)

then I have my addItem function:

handleAddItem(s) {      

  var key = Object.keys(s)[0];
  var value = s[key];

  var allItems = {...this.state.items};

      allItems[key].push({name: value});    

      this.setState({items: allItems});
}
Run Code Online (Sandbox Code Playgroud)

elsewhere I define s as:

var s={};
   s[this.props.idName] = this.refs.id.value;
Run Code Online (Sandbox Code Playgroud)

这可行,但我想知道这是否是将元素添加到项中的键之一的正确方法。AllItems确实指向this.state.items,我认为它应该是深层副本,但我不确定如何做到这一点。

似乎items是一个包含键/值对的对象,其中值是一个数组。那是对的吗?我在哪里可以学习如何操纵这样的结构?

javascript reactjs

5
推荐指数
1
解决办法
6376
查看次数

从 MongoDB 集合中获取前 N 条和后 N 条记录

我有一个用例,需要显示组和排序聚合中的前 10 名和最后 10 名结果。我尝试使用$limit,但这不会让下一个聚合器处理完整的数据。

db.collection.aggregate([groupAggregator, sortAggregator, { $limit: 10 }, /*only 10 records available*/] 
Run Code Online (Sandbox Code Playgroud)

如何在管道中间对整个集合执行聚合?我在用MongoDB 3.2.9。如果这是不可能的,有没有办法联合两个聚合,第一个是 ,top 10 (ASC SORTED)第二个是last 10 (DESC SORTED)

如果不是为了小组聚合,我会使用该db.collection.find({}).sort().filter()策略,但小组需要完成。

组聚合得到的数据

{_id: "", ..., avg_count: 10}
{_id: "", ..., avg_count: 1}
{_id: "", ..., avg_count: 2}
{_id: "", ..., avg_count: 5}
{_id: "", ..., avg_count: 8}
{_id: "", ..., avg_count: 3}
{_id: "", ..., avg_count: 4}
{_id: "", ..., avg_count: 6}
{_id: "", ..., avg_count: …
Run Code Online (Sandbox Code Playgroud)

mongodb aggregation-framework

1
推荐指数
1
解决办法
3458
查看次数