鍍金池/ 問答/HTML/ dva initialState中的對(duì)象無(wú)法被識(shí)別的問題

dva initialState中的對(duì)象無(wú)法被識(shí)別的問題

我使用dva在index.js文件dva的initialState中聲明了一個(gè)變量,但是瀏覽器報(bào)錯(cuò)說(shuō)是Unexpected keys,且在model中無(wú)法獲取。
index.js中的代碼是這樣的,

const app = dva({
  history: history,
  initialState: {
   data2: [
      { name: 'dva', id: 1 },
      { name: 'antd', id: 2 },
    ],
  },
  onError(e, dispatch) {
    message.error(e.message,3);
  },
});
app.model(require('./models/newModel').default);
app.router(require('./router').default);
app.start('#root');

route文件夾下的代碼如下

import NewCom from '../components/newCom';
const NewRoute = ({ dispatch, data2 }) => {
  const handleDelete=(id)=> {
    dispatch({
      type: 'newModel/delete',
      payload: id,
    });
  }
  return (
    <div>
      <h2>這是新的routes下面的newrtoue.js頁(yè)面</h2>
      <NewCom onDelete={handleDelete} dataSource={data2} ></NewCom>
    </div>
  );
}
export default connect( ({ data2 })=>{
  return {
    data2
  }
} )( NewRoute );

model文件夾下的代碼如下

export default {
  namespace: 'newModel',
  state: {

  },
  reducers: {
    'delete'(state, { payload: id }) {
      return state.filter(item => item.id !== id);
    },
  },
};

components文件夾下的代碼如下

import React from 'react';
import PropTypes from 'prop-types';
import { Table, Popconfirm, Button } from 'antd';

const component = ({ onDelete, dataSource }) => {
  const columns = [{
    title: 'Name',
    dataIndex: 'name',
  }, {
    title: 'Actions',
    render: (text, record) => {
      return (
        <Popconfirm title="Delete?" onConfirm={() => onDelete(record.id)}>
          <Button>Delete</Button>
        </Popconfirm>
      );
    },
  }];
  return (
    <Table dataSource={dataSource} columns={columns} />
  );
};
component.propTypes = {
  onDelete: PropTypes.func.isRequired,
  dataSource: PropTypes.array.isRequired,
};

export default component;

這樣進(jìn)入頁(yè)面,控制臺(tái)報(bào)錯(cuò)內(nèi)容會(huì)是這樣的

index.js:70704 Unexpected key "data2" found in preloadedState argument passed to createStore. Expected to find one of the known reducer keys instead: "routing", "@@dva", "newModel". Unexpected keys will be ignored.

index.js:70704 Warning: Failed prop type: The prop `dataSource` is marked as required in `component`, but its value is `undefined`.

clipboard.png

我試過將data2放到model文件的state里,但是還是取不到,報(bào)錯(cuò)如下

index.js:70704 Warning: Failed prop type: The prop `dataSource` is marked as required in `component`, but its value is `undefined`.

clipboard.png

回答
編輯回答
維他命

initialState: {
dvaData:{

data2:[
      { name: 'dva', id: 1 },
      { name: 'antd', id: 2 },
    ],
}

},

2017年9月11日 03:38