Привет всем, пожалуйста, помогите мне с этим:
я использую реагировать + firebase + redux
последние строки в классе выглядят так (страница редактирования сообщения):
const mapStateToProps = (state, ownProps) => {
const id = ownProps.match.params.id;
const posts = state.firestore.data.posts;
const post = posts ? posts[id] : null;
return {
post: post,
auth: state.firebase.auth
};
};
const mapDispatshToProps = (dispatch, ownProps) => {
return {
editPost: (id, post) => dispatch(editPost(id, post, ownProps.history))
};
};
export default compose(
connect(
mapStateToProps,
mapDispatshToProps
),
firestoreConnect([{ collection: "posts" }])
)(CreatePost);
после этого я использовал componentDidMount, чтобы получить сообщение, подобное этому:
componentDidMount() {
const post = this.props.post;
console.log(post);
this.setState({
title: post ? post.title : "",
content: post ? post.content : ""
});
}
я также использовал componentWillReceiveProps:
componentWillReceiveProps(nextProps) {
const { post } = nextProps;
console.log(post);
this.setState({
title: post.title,
content: post.content
});
}
мой ipnut lookнапример:
<input type="text" id="title" value={this.state.title} onChange={this.handleChange} />
консоль всегда отображает null
Мне не удалось обновить состояние (единственный способ увидеть это обновлениеобновление страницы)
не могли бы вы мне помочь,
спасибо