我在这里使用:React、ESLint、Mobx.
我不确定如何正确设置我通过 Provider 传递的 mobx 商店的 PropType。
ESLint 给我这个错误:
[eslint] store is missing in props validation (react/prop-types)
我像这样通过 Provider
传递商店:
ReactDOM.render(
<Provider store={store}>
<App />
</Provider>,
appLocation
);
在 App
组件中我使用了其中一个存储值,
这是我的mobx 商店:
import { observable } from 'mobx';
class Store{
@observable x = 'Hello World!';
}
export const store= new Store();
这是我的应用程序组件:
// Dependencies
import React from 'react';
import { inject, observer } from 'mobx-react';
import PropTypes from 'prop-types';
// Components
import TestComponent from './TestComponent';
// App Component
@inject('store')
@observer
export default class App extends React.Component {
render() {
return (
<div>
<TestComponent store={this.props.store} /> // the Error above
</div>
);
}
}
App.propType = {
store: PropTypes.any // What is the correct way to set this prop?
};
最佳答案
你有一个小错字。它是 propTypes
,而不是 propType
:
@inject('store')
@observer
export default class App extends React.Component {
static propTypes = {
store: PropTypes.any
};
render() {
return (
<div>
<TestComponent store={this.props.store} />
</div>
);
}
}
关于javascript - 如何设置 mobx 商店的 PropType?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48171581/