parse.com - Can't do mutation.destroy after query on component -
i use parse-react library. first query retrieve data, in other component same query equalto("user","user connected") queries works fine after second query when try mutation.destroy on item got error. updatechannel.js:146 uncaught error: object attached nonexistant subscription
short sample code :
appwrapper.react.js :
var parse = require('parse').parse; var parsereact = require('parse-react'); var react = require('react'); var wall = require('./wall.react.js'); var gallery = require('./gallery.react.js'); var contents = [ <wall/>, <gallery/> ]; var appwrapper = react.createclass({ getinitialstate: function() { return { current_page:0 }; }, changepage:function(pageidx){ this.setstate({ current_page:pageidx }); }, change:function(){ if(this.state.current_page == 0){ this.setstate({ current_page:1 }); }else{ this.setstate({ current_page:0 }); } }, render: function() { return ( <div> <button onclick={this.change} classname="btn btn-primary">change</button> {contents[this.state.current_page]} </div> ); } }); module.exports = appwrapper;
wall.react.js
var parse = require('parse').parse; var react = require('react'); var parsereact = require('parse-react'); var wall = react.createclass({ mixins: [parsereact.mixin], getinitialstate: function() { return { type:this.props.type }; }, observe: function() { var query = (new parse.query("pictureitem")).descending("createdat").include("user"); return { items:query }; }, delete:function(){ var id = this.data.items[0].id; parsereact.mutation.destroy(this.data.items[0]).dispatch(); }, render: function() { console.log(this.data.items); return ( <div classname="container"> <button classname="btn btn-primary" onclick={this.delete}>t</button> <div classname="col-lg-10 col-lg-offset-1"> <h1>wall</h1> // normale render rows map this.data.items </div> </div> ); } }); module.exports = wall;
gallery.react.js
var parse = require('parse').parse; var react = require('react'); var parsereact = require('parse-react'); var gallery = react.createclass({ mixins: [parsereact.mixin], observe: function() { var userpointer = {"__type": "pointer", "classname": "_user", "objectid": "6o8ynuffk9"}; var query = (new parse.query("pictureitem")).descending("createdat").include("user").equalto("user",userpointer); return { items:query }; }, delete:function(){ var id = this.data.items[0].id; parsereact.mutation.destroy(id).dispatch(); }, render: function() { console.log(this.data.items); return ( <div classname="container"> <button classname="btn btn-primary" onclick={this.delete}>t</button> <div classname="col-lg-10 col-lg-offset-1"> <h1>gallery</h1> // normale render rows map this.data.items </div> </div> ); } }); module.exports = gallery;
i don't know problem ...
https://github.com/parseplatform/parsereact/issues/59
try update parse-react library.
Comments
Post a Comment