小编典典

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

reactjs

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

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’”

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


阅读 414

收藏
2020-07-22

共1个答案

小编典典

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

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

2020-07-22