【发布时间】:2017-10-18 05:34:12
【问题描述】:
我正在尝试使用 re-base 来持久化数据,但使用此设置,我什么也得不到。当我尝试addExpense 时,我没有收到任何错误,也没有新对象。
我在这里重新设置:
class ExpensesContainer extends Component {
constructor(props) {
super(props);
this.state = {
expenses: {
expenseList: []
}
}
}
componentDidMount(){
base.syncState(`/`, {
context: this,
state: 'expenses.expenseList',
asArray: true
});
}
addExpense = (expense) => {
this.setState({
expenses: this.state.expenses.expenseList.concat([expense]) //updates Firebase and the local state
});
}
如果我没有使用 componentDidMount,那么我的 addExpense 操作如下所示,并且一切正常:
// addExpense = (expense) => {
// const expenseList = [...this.state.expenses.expenseList, expense];
// this.setState({expenses: {expenseList}});
// }
【问题讨论】:
-
你能说明失败的
.map()调用在哪里吗?另外,您在哪里或如何使用loadSamples?我认为这里应该是/:expenses\expenseList -
请看我更新的帖子。