如何从任何组件外部调用React的setState函数,例如实用程序函数?

我有一个应用程序,我想将读取,写入操作移至实用程序文件,即远离组件。我正在尝试这样做。

component.js

import { saveData } from './utils/fileSave.js';

class App extends Component {

saveContent() {

saveData(this.setState, data);

}

...

}

utils / fileSave.js

const saveData = (setState, data) => {

setState(data);

}

但是,这会导致错误,提示“ TypeError:无法读取未定义的属性’updater’”

不知道这是否是正确的解决方法。

回答:

看起来您需要setState将其传递给外部函数之前进行绑定。

saveData(this.setState.bind(this), data);

以上是 如何从任何组件外部调用React的setState函数,例如实用程序函数? 的全部内容, 来源链接: utcz.com/qa/402310.html

回到顶部