Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 反应:如何通过;商店「;连接到连接的组件?_Javascript_Reactjs_React Native_Redux - Fatal编程技术网

Javascript 反应:如何通过;商店「;连接到连接的组件?

Javascript 反应:如何通过;商店「;连接到连接的组件?,javascript,reactjs,react-native,redux,Javascript,Reactjs,React Native,Redux,我完全没有反应。我正在尝试为此组件编写测试: import React,{Component}来自“React”; 从“react redux”导入{connect}; 从“./actions/index”导入{fetchAccountsList}; 从“react bootstrap”导入{Table}; 导出类帐户扩展组件{ componentDidMount(){ this.props.fetchAccountsList(); } render(){ 返回( 身份证件 电子邮件 创建于 更

我完全没有反应。我正在尝试为此组件编写测试:

import React,{Component}来自“React”;
从“react redux”导入{connect};
从“./actions/index”导入{fetchAccountsList};
从“react bootstrap”导入{Table};
导出类帐户扩展组件{
componentDidMount(){
this.props.fetchAccountsList();
}
render(){
返回(
身份证件
电子邮件
创建于
更新于
{this.props.accountsList?this.props.accountsList.map(el=>(
{el.id}
{el.email}
{el.created_at}
{el.updated_at}
))
: ''}
);
}
}
函数MapStateTops(状态){
返回{
accountsList:state.accountsList
};
}
导出默认连接(
MapStateTops,
{fetchAccountsList}
)(账户);
直接在
App.js中导入


账户
这是
actions/index.js中的操作

[…]
导出函数fetchAccountsList(){
返回功能(调度){
返回API.get(“/accounts”)
。然后(res=>{
分派({type:LOADED_ACCOUNTS_LIST_SUCCESSFULLY,payload:res.data});
});
};
}
[...]
这是
reducers/index.js
主reducer文件

const initialState={
会计清单:[]
};
函数rootReducer(state=initialState,action){
开关(动作类型){
已成功加载案例\u帐户\u列表\u:{
返回Object.assign({},state{
accountsList:action.payload.data
});
}
默认值:{}
}
返回状态;
};
我嘲笑axios,这是我正在写的测试

从“React”导入React;
从'@testing library/react'导入{render};
从“axios”导入mockAxios
从“redux模拟存储”导入configureMockStore
从'react redux'导入{Provider};
从“./js/components/Accounts”导入帐户;
test('呈现帐户列表',异步()=>{
const mockStore=configureMockStore()
const store=mockStore()
常数mockData=[
{
“id”:1,
“电子邮件”:info@example.com",
“创建时间”:“2020-05-01”,
“更新地址”:“2020-05-01”
}
];
mockAxios.get.mockResolvedValue(()=>
Promise.resolve({data:mockData})
)
常数预期动作=[
{键入:“已成功加载帐户列表”}
]
const{getByText}=render()
expect(getByText('info@example.com)。toBeDefined();
//断言/期望
expect(store.getActions()).toEqual(expectedActions)
})
我犯的错误是

Error:Uncaught[错误:在“连接(帐户)”的上下文中找不到“存储”。请将根组件包装在中,或将自定义的React上下文提供程序传递给,并在“连接选项”中传递相应的React上下文使用者以连接(帐户)。]

如何测试连接的组件?非常感谢

您必须首先配置存储,然后将其传递给您的父组件 }


不要测试连接的组件。
export const configureStore = () => {
const store = createStore(
    rootReducer,

  );
return store;
<Provider store={store}>
 <App />
 </Provider>