React-酶安装投掷Regeneratorruntime不是定义的错误
我正在尝试测试以下组件:
class SearchComp extends Component {
constructor(props){
super(props);
this.state = {
data: [],
filter: {
category: {
value: null
},
rating: {
value: null
},
year: {
value: null
}
},
years:['2000','2001','All']
}
}
async componentDidMount() {
var x = null;
await API.service()
.then(response => {
x = response;
})
.catch(e => {
...
});
this.setState({state: x});
}
handleFilters(e){
var filter = {...this.state.filter}
if (e.target.value === 'All'){
filter.year.value = 'All';
}
else {
filter.year.value = e.target.value;
}
this.setState({filter})
}
render(){
return(
<select id="comp1" class="xyz" onChange={this.handleFilters}>
<option value="Newest">Newest</option>
<option value="Oldest">Oldest</option>
</select>
<select id="comp2" value={this.state.years} onChange={this.handleFilters}>
{this.state.years}
</select>
)
}
}
const mapStateToProps = (state => {
return {
idx_msp: state.reducer.idx_rdc
};
});
export default connect(mapStateToProps, null) (SearchComp);
这是测试:
import SearchComp from '../src/SearchComp.js';
import { shallow, mount } from 'enzyme'
import expect from 'expect'
import React from 'react'
import {Provider} from 'react-redux';
import {connect} from "react-redux";
import rootReducer from '../src/reducers/RootReducer.js'
import {createStore} from 'redux';
describe('SearchComp test suite', () => {
it("test1", done => {
const store = createStore(
rootReducer,
window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()
);
const wrapper = mount( <Provider store={store}>< SearchComp /></Provider> );
});
});
测试在组件中的这一行中错误:
this.setState({filter})
错误抛出:
ReferenceError: regeneratorRuntime is not defined
我尝试了此处提供的大多数解决方案: babel 6 regeneratorruntime尚未定义,但无效。
I am trying to test the following component:
class SearchComp extends Component {
constructor(props){
super(props);
this.state = {
data: [],
filter: {
category: {
value: null
},
rating: {
value: null
},
year: {
value: null
}
},
years:['2000','2001','All']
}
}
async componentDidMount() {
var x = null;
await API.service()
.then(response => {
x = response;
})
.catch(e => {
...
});
this.setState({state: x});
}
handleFilters(e){
var filter = {...this.state.filter}
if (e.target.value === 'All'){
filter.year.value = 'All';
}
else {
filter.year.value = e.target.value;
}
this.setState({filter})
}
render(){
return(
<select id="comp1" class="xyz" onChange={this.handleFilters}>
<option value="Newest">Newest</option>
<option value="Oldest">Oldest</option>
</select>
<select id="comp2" value={this.state.years} onChange={this.handleFilters}>
{this.state.years}
</select>
)
}
}
const mapStateToProps = (state => {
return {
idx_msp: state.reducer.idx_rdc
};
});
export default connect(mapStateToProps, null) (SearchComp);
Here is the test:
import SearchComp from '../src/SearchComp.js';
import { shallow, mount } from 'enzyme'
import expect from 'expect'
import React from 'react'
import {Provider} from 'react-redux';
import {connect} from "react-redux";
import rootReducer from '../src/reducers/RootReducer.js'
import {createStore} from 'redux';
describe('SearchComp test suite', () => {
it("test1", done => {
const store = createStore(
rootReducer,
window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()
);
const wrapper = mount( <Provider store={store}>< SearchComp /></Provider> );
});
});
The test is erroring out at this line in the component:
this.setState({filter})
Error thrown:
ReferenceError: regeneratorRuntime is not defined
I have tried most of the solutions provided here:Babel 6 regeneratorRuntime is not defined, but nothing works.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
未定义的Regeneratorruntime
实际上不是酶
的错误。这是使用Babel代码转换的错误(在您的情况下,我想,Babel是在Jest或其他单位测试跑步者中使用的)。如非常相似的情况 babel错误,您需要安装babel依赖关系提供
RecenerationRuntime
:并在
.babelrc.json
文件中指定它们:regeneratorRuntime is not defined
is not actually an error fromenzyme
. That's an error from transformed with babel code (in your case, I suppose, babel is used from jest or other unit tests runner).Such in very similar cases of that babel error, you need to install babel dependencies that provide
regenerationRuntime
:and specify them in
.babelrc.json
file: