从外部javascript模块调用React setState()
我已经实现了以下外部服务类,其中包含React-setState(),React组件只需通过导入模块来使用它。我知道下面的is调用在javascript中是有效的,但是您认为在外部js模块中使用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) => {
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;