使用React和Dexie分配唯一的密钥ID?

下面的代码缺少适当的密钥支持。我在此示例中使用Dexie.js

基本上,我有一个自动递增的键++id现在,我想确保我的var newFriend自动增加此值,但是我不确定如何正确指定它。它旨在用于li key={result.id}

产生的错误是 child keys must be unique; when two children share a key, only the first child will be used.

我想设置var newFriend为自动增加我的ID。

不要介意评论标签。他们是我先前提出的一个问题。

var SisterChristian = React.createClass({
  getInitialState:function(){
    return {results:[
      {id:'', name:'',age:''}
    ]}
  },

  zanzibar:function(){
    // don't use document.querySelector(), you should be able to access any of your DOM elements like this
    var resname = this.inputNameEl.value;
    var resage = this.inputAgeEl.value;
    var datastoring = new Dexie('MySpace');
    datastoring.version(1).stores({
      friends: '++id, name, age'
    });

    datastoring.open().catch(function(err){
      alert('Oh no son:' +err);
    });

    // you can't do this, you need to add a new item to the results array, not reset the array
    // datastoring.friends.each((friend)=>{
    //   this.setState({results:[{name:resname, age:resage}] });
    // }); 

    var newFriend = {
      id:,
      name: resname, 
      age: resage
    };

    datastoring.friends.add(newFriend);

    // this is how you update the state of the object with new data
    var newResults = this.state.results.slice(); // clone the array
    newResults.push(newFriend);
    this.setState({results: newResults});
  },

  renderResults:function(results) {
    return results.map(result => { // this is how you create DOM elements from an array of objects
      return <li key={result.id}>{result.name}, {result.age}</li>;
    });
  },

  render:function(){
    return (
      <div>
        <input type="text" id="inputname" ref={el => this.inputNameEl = el} />
        <input type="text" id="inputage" ref={el => this.inputAgeEl = el} />
        <input type="submit" value="Shipping And Handling" onClick={this.zanzibar}/>
        <ul>{this.renderResults(this.state.results)}</ul>
      </div>
    );
  }

});

ReactDOM.render(<SisterChristian/>, document.getElementById('bacon'));

我已将其添加到JSFiddle。https://jsfiddle.net/7xet1nv0/1/

或德罗里

Dexie自动为每个项目生成一个唯一的ID(架构中的“ ++ id”)。Dexie在每个.add()操作之后返回一个Promise。兑现承诺后,您可以检索Dexie分配的唯一ID,并使用它(demo):

datastoring.friends.add(newFriend).then((id) => {
      // this is how you update the state of the object with new data
        var newResults = this.state.results.concat([Object.assign({}, newFriend, { id })]); // add the id to the newFriend object, and then concat it to the all state to get a new array
        this.setState({results: newResults});
    });

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用logback和slf4j为每个事务分配唯一的ID

来自分类Dev

为用户分配唯一的串行密钥

来自分类Dev

使用Java 8流为对象分配唯一的ID

来自分类Dev

为使用insertAdjacentHTML创建的HTML元素分配唯一的ID

来自分类Dev

使用Redis将唯一ID存储为保存其他密钥列表的密钥

来自分类Dev

如何删除 React 中的特定组件?(使用密钥和 ID)

来自分类Dev

如何分配唯一组ID?

来自分类Dev

设置 Livepatch 时“机器 ID 已使用不同的密钥启用,或非唯一”

来自分类Dev

如何为具有多个相同类和唯一ID的$(this)分配

来自分类Dev

有没有一种方法可以为空手道DSL中的每个功能/场景分配唯一的“ ID密钥”

来自分类Dev

如何使用MVC中的局部视图将唯一ID分配给动态添加的行

来自分类Dev

我可以使用字典为重复的组分配多个唯一 ID 吗?

来自分类Dev

Firebase:如何为密钥生成唯一的数字ID?

来自分类Dev

使用 dplyr 和串联生成唯一 ID 和组 ID

来自分类Dev

为按钮分配一个唯一的 id

来自分类Dev

如何获取唯一ID和唯一值的列名

来自分类Dev

我如何获得数组 React js 中的第一个唯一 ID 元素和最后一个唯一 ID 元素

来自分类Dev

onRestoreInstanceState()和唯一视图ID

来自分类Dev

多个ID和唯一的名称

来自分类Dev

onRestoreInstanceState()和唯一视图ID

来自分类Dev

AngularJS-ng-repeat分配/生成新的唯一ID

来自分类Dev

为列pandas数据框分配唯一的ID

来自分类Dev

如何为动态创建的视图分配唯一的ID?

来自分类Dev

为ng-repeat分配唯一的值ID

来自分类Dev

Apache Flink-为输入分配唯一的ID

来自分类Dev

Groupby并为组成员分配唯一的ID

来自分类Dev

根据两列的EITHER中的值分配唯一的ID

来自分类Dev

为熊猫中的数据帧分配非唯一ID

来自分类Dev

如何为数据库对象分配唯一的ID

Related 相关文章

  1. 1

    如何使用logback和slf4j为每个事务分配唯一的ID

  2. 2

    为用户分配唯一的串行密钥

  3. 3

    使用Java 8流为对象分配唯一的ID

  4. 4

    为使用insertAdjacentHTML创建的HTML元素分配唯一的ID

  5. 5

    使用Redis将唯一ID存储为保存其他密钥列表的密钥

  6. 6

    如何删除 React 中的特定组件?(使用密钥和 ID)

  7. 7

    如何分配唯一组ID?

  8. 8

    设置 Livepatch 时“机器 ID 已使用不同的密钥启用,或非唯一”

  9. 9

    如何为具有多个相同类和唯一ID的$(this)分配

  10. 10

    有没有一种方法可以为空手道DSL中的每个功能/场景分配唯一的“ ID密钥”

  11. 11

    如何使用MVC中的局部视图将唯一ID分配给动态添加的行

  12. 12

    我可以使用字典为重复的组分配多个唯一 ID 吗?

  13. 13

    Firebase:如何为密钥生成唯一的数字ID?

  14. 14

    使用 dplyr 和串联生成唯一 ID 和组 ID

  15. 15

    为按钮分配一个唯一的 id

  16. 16

    如何获取唯一ID和唯一值的列名

  17. 17

    我如何获得数组 React js 中的第一个唯一 ID 元素和最后一个唯一 ID 元素

  18. 18

    onRestoreInstanceState()和唯一视图ID

  19. 19

    多个ID和唯一的名称

  20. 20

    onRestoreInstanceState()和唯一视图ID

  21. 21

    AngularJS-ng-repeat分配/生成新的唯一ID

  22. 22

    为列pandas数据框分配唯一的ID

  23. 23

    如何为动态创建的视图分配唯一的ID?

  24. 24

    为ng-repeat分配唯一的值ID

  25. 25

    Apache Flink-为输入分配唯一的ID

  26. 26

    Groupby并为组成员分配唯一的ID

  27. 27

    根据两列的EITHER中的值分配唯一的ID

  28. 28

    为熊猫中的数据帧分配非唯一ID

  29. 29

    如何为数据库对象分配唯一的ID

热门标签

归档