Javascript 反应:不允许散播道具
eslint还不够聪明吗?HOC是非常通用的,所以我不能真正指定传入的选项/道具,因为它是动态的,取决于HOC在任何给定时间包装的组件 我得到Javascript 反应:不允许散播道具,javascript,reactjs,eslint,Javascript,Reactjs,Eslint,eslint还不够聪明吗?HOC是非常通用的,所以我不能真正指定传入的选项/道具,因为它是动态的,取决于HOC在任何给定时间包装的组件 我得到道具传播被禁止 withTracker.tsx const withTracker = (WrappedComponent: any, options: any = {}) => { options.cookieDomain = 'xxxx'; const trackPage = (page: any) => {
道具传播被禁止
withTracker.tsx
const withTracker = (WrappedComponent: any, options: any = {}) => {
options.cookieDomain = 'xxxx';
const trackPage = (page: any) => {
GoogleAnalytics.set({
page,
...options,
});
GoogleAnalytics.pageview(page);
};
const HOC = class HOC extends Component <{ location: any }> {
componentDidMount() {
const page = this.props.location.pathname;
trackPage(page);
window.scrollTo(0, 0);
}
componentDidUpdate(prevProps: any) {
const currentPage = prevProps.location.pathname;
const nextPage = this.props.location.pathname;
if (currentPage !== nextPage) {
trackPage(nextPage);
}
}
render() {
return <WrappedComponent {...this.props} />;
}
};
return HOC;
};
export default withTracker;
constwithtracker=(WrappedComponent:any,options:any={})=>{
options.cookieDomain='xxxx';
const trackPage=(页面:任意)=>{
GoogleAnalytics.set({
页
…选项,
});
GoogleAnalytics.pageview(第页);
};
const HOC=类HOC扩展组件{
componentDidMount(){
const page=this.props.location.pathname;
trackPage(第页);
滚动到(0,0);
}
componentDidUpdate(prevProps:any){
const currentPage=prevProps.location.pathname;
const nextPage=this.props.location.pathname;
如果(当前页!==下一页){
跟踪页面(下一页);
}
}
render(){
返回;
}
};
返回HOC;
};
使用跟踪器导出默认值;
只需禁用文件或特定行的eslint规则。只需禁用文件或特定行的eslint规则。大概没有理由不能传播这些道具;只是您的ESLint配置的意见是您不应该这样做。描述了该规则;这只是代码质量和风格的问题。如果您想更改代码以符合规则,或者如果您不想或不能,请在行、文件或配置级别禁用规则。您可能没有理由不能传播这些道具;只是您的ESLint配置的意见是您不应该这样做。描述了该规则;这只是代码质量和风格的问题。如果您想更改代码以符合规则,或者如果您不想或不能,请在行、文件或配置级别禁用规则。同意,谢谢!只是想确定一下,有时候很难判断我是否需要寻找解决方案,或者只是告诉它忽略它。同意,谢谢!只是想确定一下,有时候很难判断我是否需要寻找解决方案,或者只是告诉它忽略它。