Сервис не ограничивается Angular, даже в Angular2 + ,
Сервис - это просто набор вспомогательных функций ...
И есть много способов их создания и повторного использования в приложении ...
1) они могут быть отдельными функциями, которые экспортируются из файла js, как показано ниже:
export const firstFunction = () => {
return "firstFunction";
}
export const secondFunction = () => {
return "secondFunction";
}
//etc
2) Мы также можем использовать метод фабрики, как, с набором функций ... с ES6 это может быть класс, а не конструктор функции:
class myService {
constructor() {
this._data = null;
}
setMyService(data) {
this._data = data;
}
getMyService() {
return this._data;
}
}
В этом случае вам нужно сделать экземпляр с новым ключом ...
const myServiceInstance = new myService();
Также в этом случае у каждого экземпляра своя жизнь, поэтому будьте осторожны, если хотите поделиться им, в этом случае вы должны экспортировать только тот экземпляр, который хотите ...
3) Если ваша функция и утилиты не будут использоваться совместно, вы даже можете поместить их в компонент React, в данном случае, так же, как функцию в вашем компоненте реагирования ...
class Greeting extends React.Component {
getName() {
return "Alireza Dezfoolian";
}
render() {
return <h1>Hello, {this.getName()}</h1>;
}
}
4) Другой способ, которым вы можете обрабатывать вещи, может быть использование Redux , это временное хранилище для вас, поэтому, если у вас есть это в вашем приложении React , оно может помочь вам со многими функциями установки сеттера вами ... Это похоже на большой магазин которые следят за вашими состояниями и могут делиться ими между вашими компонентами, чтобы избавить вас от многих неприятностей, связанных с установщиками-установщиками, которые мы используем в сервисах ...
Всегда полезно делать DRY-код, а не повторять то, что необходимо использовать, чтобы сделать код многократно используемым и читабельным, но не пытайтесь следовать угловым путям в приложении React , как упоминалось в пункте 4, использование Redux может снизить ваши потребности в сервисы, и вы ограничиваете их использование для некоторых повторно используемых вспомогательных функций, таких как пункт 1 ...