(我正在使用重新基准,无法创建重新基准标签) 我试图获取用户输入,然后将其添加到我的状态数组中:博客的标题,描述和内容,并将其存储在Firebase实时数据库中。
我检查了其他问题,并确保我的状态是数组,以便concat正常工作。
handleEntry(titleInput, descriptionInput, contentInput) {
this.setState({
titles: this.state.titles.concat(titleInput),
descriptions: this.state.descriptions.concat(descriptionInput),
contents: this.state.contents.concat(contentInput)
})
}
我认为我的状态将由TypeError更新:this.state.titles.concat不是函数
但是,错误将其指向同步状态之前的句号:
this.contentsRef = base.syncState('contents', {
context: this,
state: 'contents'
})
更新:我不确定这是否是这样做的方法,但是它可以工作。我没有使用状态值分配状态,而是使用了占位符然后将其分配给状态。
handleEntry(titleInput, descriptionInput, contentInput) {
var titleHolder = [...this.state.titles].concat(titleInput);
var descriptionHolder = [...this.state.descriptions].concat(descriptionInput);
var contentHolder = [...this.state.contents].concat(contentInput);
this.setState({
titles: titleHolder,
descriptions: descriptionHolder,
contents: contentHolder
})
}