특정 서비스가있는 사용자 만 찾으려고합니다. 각 사용자는 서비스 배열을 가지고 있습니다. 작품 아래내 필터에이 ESlint (no-param-reassign) 오류를 수정하는 방법
이userService.name === service.name && !user.disabled
코드,하지만 PARAM - 재 할당을 처리 ESlint 오류가 있습니다 : 내가 찾아야 경기는 다음과 같습니다.
export const matchUserWithService = (user, userService, service) => {
if (userService.name === service.name && !user.disabled) {
user.isMatched = true;
userService.rights = service.rights;
}
return userService;
};
export const renderServiceAdmins = (users, selectedService) => {
const usersWithService = users.filter((user) => {
user.services.map(usrSrv => matchUserWithService(user, usrSrv, selectedService));
if (user.isMatched) return user;
return false;
});
return usersWithService.map(user => user.services.map(service => service.rights.map((right) => {
if (
service.name === selectedService.name &&
lowCase(right.name) === 'admin' &&
!right.disabled
) {
return (
<li key={user.email + randId()}>
{ user.name } | <span className="info_blue">{ user.email }</span>
</li>
);
}
return null;
})));
};
이는 .find
로 리팩토링 할 수 있습니까?
.find
는 [당신은 정말 이상한 아무것도하지 않는]를 사용하여 필터를 체인되었다 (https://eslint.org/docs/rules/no-param-reassign). '.eslintrc' 파일에서 규칙을 끄지 않는 것이 좋을까요? – Andy@Andy 왜냐하면 우리는 eslint를 앞설 수밖에 없기 때문입니다. ( –
나는 그것을 얻습니다. 나는 ESLint를 제거하는 것에 대해서가 아니라'no-param-reassign'에 대한 규칙을 막는 것에 대해 말하고 있습니다. 예를 들어, if ESLint는 사용자가 작성한 것만 큼 유익하지 않습니다. – Andy