【发布时间】:2019-01-03 17:40:47
【问题描述】:
是否可以从 mapStateToProps 设置属性并使用 setState 更改状态并将该信息保存到我的数据库中?数据是从 google book api 返回的,我想保存一小部分数据。
我的状态:
state = {
title: '',
subtitle: '',
authors: '',
description: '',
thumbnail: '',
buyLink: ''
};
设置状态并保存到数据库的功能
let { book } = this.props.book;
let bookInfo;
if (book !== null) {
const onSave = (e) => {
e.preventDefault();
let savedData = this.setState({
title: book.volumeInfo.title,
subtitle: book.volumeInfo.subtitle,
authors: book.volumeInfo.authors,
description: book.volumeInfo.description,
thumbnail: book.volumeInfo.imageLinks.thumbnail,
buyLink: book.saleInfo.buyLink
});
console.log(savedData);
};
// this.props.saveBook(savedData, this.props.history);
bookInfo = <BookInfo book={book} onClick={onSave} />;
}
savedData 返回未定义
const mapStateToProps = (state) => ({
book: state.books
});
【问题讨论】:
-
因为
this.setState()不返回任何内容。无论您想从中获取什么-您都不会,因为 setState() 不会给您:)
标签: reactjs react-redux