#reactjs #redux #react-redux #next.js #server-side-rendering
Вопрос:
я пытаюсь передать состояние из mapStateToProps в getServerSideProps (), но получаю эту ошибку: Error: Objects are not valid as a React child (found: [object Promise]). If you meant to render a collection of children, use an array instead.
*примечание: я попытался использовать next-redux-оболочку для достижения этого » получения состояния в getServerSideProps ()», но ничего не работало должным образом. поэтому я пробую этот подход
возможно ли вообще сделать это таким образом?
index.js:
import { connect } from 'react-redux'
import store from '../redux/store'
import Product from '../components/Product'
const getServerSideProps = async (state) => {
const { products, loading } = state.productList
return {props: {products: products, loading: loading}}
}
const mapStateToProps = function() {
const state = store.getState()
return {props: {state: state}}
}
export function Home (products) {
<Product products={products}>
}
export default connect(mapStateToProps)(getServerSideProps)
Комментарии:
1. Я никогда не видел этого :»экспорт подключения по умолчанию(mapStateToProps)(getServerSideProps)»
2. Вам нужно передать компонент React для
connect
вызова, т. е.connect(mapStateToProps)(Home)
. Я все равно рекомендовал бы вам изучитьnext-redux-wrapper
, поскольку он больше ориентирован на Next.js.3. @juliomalves привет. я опубликовал свой код с next-redux-оболочкой в nextjs github некоторое время назад в разделе «Проблемы». не могли бы вы взглянуть на это, если возможно. Спасибо. github.com/kirill-konshin/next-redux-wrapper/issues/423