Я пытаюсь изучить React + Firebase (с помощью reactfire) после учебника ToDo, написанного для firebase v2.React + Firebase v3 - как получить 2-ю ссылку на firebase для обновления одного элемента
Теперь, используя новые документы reactfire, я увидел, как получить ссылку на firebase v3, чтобы я мог перечислить и создать объекты todo.
// app.jsx
var Firebase = require('firebase');
var Header = require('./header');
var config = {
apiKey: "...",
authDomain: "...firebaseapp.com",
databaseURL: "https://...firebaseio.com"
};
firebase.initializeApp(config);
var App = React.createClass({
...,
getInitialState(){ //... },
componentWillMount(){
var ref = firebase.database().ref("items");
this.bindAsObject(ref, "items");
ref.on('value', this.handleDataLoaded);
},
render: function() {
return (
<div>
...
<Header itemsStore={this.firebaseRefs.items}/>
...
</div>
)
}
Но теперь я хочу сделать обновления действия на один пункт, и я сказал, что я должен создать новый реф в firebase используя идентификатор только, что элемент.
Это все еще так?
Вот что я пробовал на основе docs.
// list-item.jsx
componentWillMount(){
var ref = firebase.database().ref().child("items/" + this.props.item.key);
this.bindAsObject(ref, "item");
},
handleDoneChange(event){
console.log(this.state.item); // --------------------> Object {done: false, text: "second task", .key: "-KOlfbvw52_47CYiLlxr"}
this.setState({done:event.target.checked});
this.state.item.update({done: event.target.checked}); // --> is not a function
},
Какие-либо рабочие примеры там?
Прекрасный ответ на самом деле. Благодаря! – dwilbank