Как я могу связать вспомогательные методы в React?
У меня есть файл helper.js
с вспомогательными функциями.
т.е.: (ps: ниже приведены только обычные методы для иллюстрациимоя проблема на данный момент)
//helper.js
export function handleLog(arg) {
return console.log(`App current state is: ${arg}`);
}
export function handleSlice(arr) {
return arr.slice(1, 2);
}
export function handleShuffle(arr) {
return arr.sort(() => Math.random() - 0.5);
}
Я могу применить методы к своему приложению React как:
import { handleLog, handleSlice, handleShuffle } from "./helpers";
...
class Heros extends PureComponent {
constructor() {
super();
this.state = {
heros: ["Hulk", "Thor", "Aquaman", "Stan Lee"]
};
}
render() {
const { heros } = this.state;
const shuffledheros = handleShuffle(heros);
const strongestHero = handleSlice(shuffledheros);
handleLog(heros);
/* How could I chain ? */
// const strongestHero = handleShuffle(heros).handleSlice(heros);
return (
<>
<h1>Chained Helpers</h1>
Strongest: {strongestHero}
</>
);
}
}
Как я могу создать цепочку, например: handleShuffle(heros).handleSlice(heros)
и так далее?
- При сцеплении второго метода он выдает:
(0 , _helpers.handleSlice)(...).handleSlice is not a function
Я безуспешно пытался рефакторинг помощников в:
const helpers = {
f1() { ...do something...; return this;},
f2() { ...do something...; return this;}
}
export default helpers
Это тоже не сработало.Вот полный код