Redux 为“AccountList”提供的“object”类型的“accounts”属性无效,应为数组
我在文件中导入了一个json文件,并创建了如下操作:Redux 为“AccountList”提供的“object”类型的“accounts”属性无效,应为数组,redux,action,Redux,Action,我在文件中导入了一个json文件,并创建了如下操作: import jsonData from './data/account_list_response.json'; const inAccountsList = () => { store.dispatch({ type: 'ACCOUNT_LIST', state: { accounts: jsonData } }); }; function mapStateToP
import jsonData from './data/account_list_response.json';
const inAccountsList = () => {
store.dispatch({
type: 'ACCOUNT_LIST',
state: {
accounts: jsonData
}
});
};
function mapStateToProps(state) {
return { accounts: state.get('accounts').map(account => account.toJS()) };
}
然后,我在accountList容器中将帐户设置为道具,如下所示:
import jsonData from './data/account_list_response.json';
const inAccountsList = () => {
store.dispatch({
type: 'ACCOUNT_LIST',
state: {
accounts: jsonData
}
});
};
function mapStateToProps(state) {
return { accounts: state.get('accounts').map(account => account.toJS()) };
}
最后
const AccountList = ({ accounts }) => (
<div className="account-list">
<h4 className="table-header">Accounts</h4>
<Table hover>
<thead>
<tr>
<th>#</th>
<th>Account Number</th>
<th>Description</th>
<th>Balance</th>
<th>Available Balance</th>
<th>Currency</th>
</tr>
</thead>
<tbody>
{accounts.map((account, i) =>
<AccountEntry
key={account.id} idx={i + 1}
{...account}
/>
)}
</tbody>
</Table>
</div>
);
const AccountList=({accounts})=>(
账户
#
帐号
描述
平衡
可用余额
通货
{accounts.map((account,i)=>
)}
);
发生错误,提供给
AccountList
的object
类型的无效属性accounts
,应为数组。为什么会这样???你有什么地方吗?是的AccountList.propTypes={accounts:propTypes.arrayOf(propTypes.shape({id:PropTypes.string.isRequired,accountNumber:PropTypes.string.isRequired,description:PropTypes.string.isRequired,balance:PropTypes.number.isRequired,balanceAvailable:PropTypes.number.isRequired,currency:PropTypes.string.isRequired}).isRequired};我的json文件类似于{“id”:“0026000101000000001”,“accountNumber:“0026.0001.01.00000000001”,“description:“我的帐户1”,“余额”:42.0,“可用余额”:42.0,“货币”:“EUR”}好的,这就是为什么它需要一个数组。我如何解决这个问题??