从外部javascript模块调用React setState()

从外部javascript模块调用React setState(),javascript,reactjs,Javascript,Reactjs,我已经实现了以下外部服务类,其中包含React-setState(),React组件只需通过导入模块来使用它。我知道下面的is调用在javascript中是有效的,但是您认为在外部js模块中使用setState()是一种好的做法吗?或者它会导致任何可能的问题吗 import service from '../Service'; class View extends React.Component { ... someFunction = (value) => {

我已经实现了以下外部服务类,其中包含React-setState(),React组件只需通过导入模块来使用它。我知道下面的is调用在javascript中是有效的,但是您认为在外部js模块中使用setState()是一种好的做法吗?或者它会导致任何可能的问题吗

import service from '../Service';
class View extends React.Component {
   ...
   someFunction = (value) => {
       service.extFunction(this, value);
   }
   ...
}
  • 调用setState()的外部js

你为什么需要这样一个模块?我认为除了可读性之外,它不会引起任何问题。我们正在尝试将逻辑封装到各自的服务模块中。我唯一能想到的是将setState外部化到模块会使服务模块依赖于React的状态。但我们怀疑这种做法(将setState放入其他模块)是否会在我们继续构建更多这些模块时导致任何奇怪的问题。所以我想看看是否有人经历过这个为什么你需要这样一个模块?我认为除了可读性之外,它不会引起任何问题。我们正在尝试将逻辑封装到各自的服务模块中。我唯一能想到的是将setState外部化到模块会使服务模块依赖于React的状态。但我们怀疑这种做法(将setState放入其他模块)是否会在我们继续构建更多这些模块时导致任何奇怪的问题。所以我想看看有没有人经历过这一切
class Service { 
    extFunction(component, value) {
        component.setState({key: value});
    }
}

const service = new Service();
export default service;