Спасибо за чтение.
У меня проблема с React, Redux и Firebase.Я установил данные Firebase в хранилище React с Redux.Передайте данные с mapStateToProps в компоненте.Когда я добавляю ссылку на элемент firebase и обновляю веб-браузер, реквизиты данных не определены.Я хочу, чтобы при обновлении браузера оставались данные Firebase.
Это мой компонент, который отображает данные FireBase
render() {
return (
<div>
<div className="content-container">
<Header />
<div className="square-top" />
<div className="square" />
<div className="middle-square" />
<div className="box-content" style={{ marginTop: "20rem" }}>
<img
className="img-post"
src={this.props.posts.image}
alt=""
/>
<h1>{this.props.posts.title}</h1>
<p>{this.props.posts.description}</p>
</div>
<div className="box-content" style={{ paddingBottom: "400px" }}>
<button
onClick={() => {
this.props.history.push("/blog");
}}
className="btn-primary"
>
Volver
</button>
</div>
</div>
<Footer />
</div>
);
}
}
const mapStateToProps = (state, props) => {
return {
posts: state.posts.find(post => post.slug === props.match.params.slug)
};
};
export default connect(mapStateToProps)(PostItemPage);
action Redux file
export const setPosts = posts => ({
type: "SET_POSTS",
posts
});
export const startSetPosts = () => {
return dispatch => {
return database
.ref("posts")
.once("value")
.then(snapshot => {
const posts = [];
snapshot.forEach(childSnapshot => {
posts.push({
id: childSnapshot.key,
...childSnapshot.val()
});
});
dispatch(setPosts(posts));
});
};
};
иХранить файл
const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose
export default () => {
const store = createStore(
combineReducers({
filters: filtersReducer,
questions: questionsReducer,
posts: postsReducer
}),
composeEnhancers(applyMiddleware(thunk))
);
return store;
};