Javascript 将方法移出React组件,但仍然访问状态对象
我希望通过将一些方法移动到FooHelpers.js ES6类中,然后将它们推广到其他相关的React组件中,来重构一个相当笨拙的React组件 我的问题是,我想移出的这些方法访问周围React组件的state对象 当前情况:Javascript 将方法移出React组件,但仍然访问状态对象,javascript,reactjs,Javascript,Reactjs,我希望通过将一些方法移动到FooHelpers.js ES6类中,然后将它们推广到其他相关的React组件中,来重构一个相当笨拙的React组件 我的问题是,我想移出的这些方法访问周围React组件的state对象 当前情况: // Foo.jsx getItems() { return this.state.items; } someLogic() { const items = this.getItems(); } 我想去的地方: // FooHelpers.js g
// Foo.jsx
getItems() {
return this.state.items;
}
someLogic() {
const items = this.getItems();
}
我想去的地方:
// FooHelpers.js
getItems() {
// ???
}
// Foo.jsx
someLogic() {
const items = FooHelpers.getItems();
}
我有多种方法可以考虑这样做,但我很想看看是否有人以更具反应性的方式来处理这个问题。这是一个完美的高阶组件用例,它的孩子将是与Foo.jsx相关的组件。在我对这个问题的回答中可以看到更多关于HOC的信息:。嗯,我能想到的最简单的方法就是使用.call,我相信你已经想到了。@Nick没有,根本没有想到。我想得太多了:如果有人插话的话,我会把问题留着!最好将函数设置为无状态。传入部分状态,然后将结果绑定回状态。最佳方式。