您好我使用Immuteble Map for state,当我尝试maspStateToProps时,我有这个错误.
Uncaught Invariant Violation:
mapStateToProps必须返回一个对象.而是收到Map {}.
这是我的代码:
零件:
const mapStateToProps = (state) => {
return state
}
class LoanCalculator extends React.Component{
componentWillMount(){
this.dispatch(loadConstraints());
}
render(){
return (
<div>
<h1> Loan Calculator </h1>
<SlidersBox {...this.props}/>
</div>
)
}
}
LoanCalculator = connect(
mapStateToProps
)(LoanCalculator)
export default LoanCalculator
Run Code Online (Sandbox Code Playgroud)
减速器
import { Map } from 'immutable'
import {LOAD_CONSTRAINTS, SET_AMOUNT_VALUE, SET_TERM_VALUE} from "../actions/actions";
const initialState = new Map();
export default function calculator(state = initialState, action){
switch (action.type){
case LOAD_CONSTRAINTS:
return …Run Code Online (Sandbox Code Playgroud) 我在项目上与 Relay Modern 合作。但是当我将片段放置到放置组件的位置时,我不确定如何从某个位置发送数据。
例如:
这是组件组合
-Page (QueryRenderer)
---Header
---body
---List
--UserAutocomplete
Run Code Online (Sandbox Code Playgroud)
列表是片段,像 fragment PaymentsList on Payment
UserAutocomplete 也是片段,但在 RootQuery 上fragment UserAutocomplete_users on RootQuery
实际上,我将这个片段放在查询 QueryRenderer 中
graphql`
query PaymentQuery {
...PaymentsList
...UserAutocompleteFragment_users
}
但是后来我在这里获得了 UserAutocomplete 的数据,我必须通过 props 向下发送 UserAtocomplete 组件的这些数据。有没有更好的方法,比如从商店获取这些数据而不是通过道具发送它们?