Comprobación de un artículo existente ya no existe en la lista de artículos de mi componente -- ecmascript-6 campo con react.js camp codereview Relacionados El problema

Checking an existing item doesn't already exist in my component's list of items


1
vote

problema

Español

Aquí hay una función en mi componente "99887766655443312

  import java.util.Optional; import java.util.Scanner;  public class Calculator {      public static final String EXIT_MESSAGE = "Okay! Nobody misses you" +             "  But here's the calculations you've done so far";     private static final String WRONG_ACTION_MESSAGE = "Shit, wrong answer,  you'll have to calculate " +             "with these numbers again and then you can do whatever you want";     private HistoryHolder historyHolder = new HistoryHolder();     private Solver solver;     private Scanner scanner;      private AskForAction askForAction;     private AskForNumber askForFirstNumber;     private AskForNumber askForSecondNumber;     private AskForOperation askForOperation;     private double firstNumber;     private double secondNumber;      public Calculator(Solver solver, Scanner scanner) {         this.scanner = scanner;         this.solver = solver;         initializeAskers();     }      private void initializeAskers() {         askForAction = new AskForAction(this.scanner);         askForFirstNumber = new AskForNumber("Input the 1st number", this.scanner);         askForSecondNumber = new AskForNumber("Input the 2nd number", this.scanner);         askForOperation = new AskForOperation(this.scanner);     }      public void run() {         askUsersUnitialNumbers();         Action action;         do {             Expression expression = buildExpression();             processExpression(expression);             action = askAndVerifyAction();             if (action.isChangeNumbers()) {                 askUsersUnitialNumbers();             }         } while (!action.isStopCondition());         endProgram();     }      private void askUsersUnitialNumbers() {         firstNumber = askForFirstNumber.ask();         secondNumber = askForSecondNumber.ask();     }      private Expression buildExpression() {          char operator = askForOperation.ask();          return Expression.Builder.anExpression()                 .firstNumber(firstNumber)                 .secondNumber(secondNumber)                 .operator(operator).build();     }      private void endProgram() {         printExitMessage();         printHistory();     }      private Action askAndVerifyAction() {         Optional<Action> possibleAction = askForAction.ask();         verifyPossibleAction(possibleAction);         return possibleAction.get();     }      private void verifyPossibleAction(Optional<Action> possibleAction) {         if (!possibleAction.isPresent()) {             showWrongActionMessage();         }     }       private void processExpression(Expression expression) {         Optional<Double> possibleResult = solver.solveExpression(expression);          printResult(possibleResult);         addToHistory(possibleResult);     }       private void showWrongActionMessage() {         System.out.println(WRONG_ACTION_MESSAGE);     }      private void printExitMessage() {         System.out.println(EXIT_MESSAGE);     }      private void addToHistory(Optional<Double> pretendResult) {         if (pretendResult.isPresent()) {             historyHolder.add(pretendResult.get());         }     }      private void printResult(Optional<Double> pretendResult) {         if (pretendResult.isPresent()) {             System.out.println(pretendResult.get());         }     }      private void printHistory() {         historyHolder.printHistory();     }  } 3  

Esta es una función bastante simple. Pasamos un objeto 99887766655443314 , pero solo queremos agregarlo a la lista, si aún no está allí, para evitar la duplicación.

¿Hay una forma más política para lograr esto?

Original en ingles

Here's a function in my PersonList component:

addPerson(person) {          /*srsly there must be a better way to do this*/     if (!this.state.people.map((v,i) => {         return v.id;          }).includes(person.id)     ){         this.setState({              people: this.state.people.concat([person])         });     } } 

This is fairly simple function. We're passed a Person object, but we only want to add it to the list, if it's not already there - to prevent duplication.

Is there a tidier way to achieve this?

     
   
   

Lista de respuestas


Relacionados problema

3  ES6 Código JavaScript (reaccionar) que mapea y filtra los datos de JSON  ( Es6 javascript react code that maps and filters json data ) 
Tengo el siguiente código en mi aplicación de reacción que crea etiquetas fuera de los datos de JSON: using System; using System.Collections.Generic; using...

1  Reaccionar el componente de orden superior: conHusherHandlers  ( React higher order component withhigherhandlers ) 
Estoy tratando de crear un método auxiliar al igual que recomponer withHandlers , pero necesito pasar a mis manipuladores un argumento adicional. Aquí es...

6  Una caja de recetas que agrega, ediciones y elimina las recetas  ( A recipe box that adds edits and removes recipes ) 
Hice una caja de recetas con reactjs. Por favor, hágamelo saber qué espacio para mejorar lo que ves. Noté que con Codepen, la lista de componentes comenzó a s...

2  CÓDIGO DE ENTREVADOR DE COMPROBADOR DE COMPLETADOR DE JAVASCRIP NODE / REACT  ( Javascript node react web developer interview code ) 
Recientemente solicité un trabajo como un desarrollador de nodos / reaccionar. Estoy intentando cruzar de una posición de investigación al desarrollo web. No ...

2  Mostrar diálogo para agregar dispositivo y pestaña  ( Show dialog to add device and tab ) 
Estoy en Redux. Estoy desarrollando un tablero de instrumentos usando reactjs redux y material-ui para componentes. Es una aplicación grande, ya que mi tabler...

2  Restablecer un campo de entrada después de la presentación  ( Reset an input field after submission ) 
Tengo algunos problemas relacionados con un caso simple en mi aplicación REDUX-REACT: quiero restablecer un texto de entrada después de una operación asíncron...

2  Función de validación de forma para reaccionar  ( Form validation function for react ) 
Necesito validar varios campos de entrada usando reaccionar. Estoy usando un bloque simple if-común para cada campo de entrada, pero me gustaría optimizar mi ...

2  Simple Blog usando reaccionar Redux React-Router  ( Simple blog using react redux react router ) 
He implementado la lógica de mi aplicación, pero no estoy seguro de si es una forma adecuada o no. Tarea: cree una aplicación de reacción usando REDUX, Reac...

4  Obtención de datos de API en JavaScript  ( Fetching data from api in javascript ) 
Estoy usando axios para buscar datos de una API, y no sé si esta es la mejor manera de lidiar con las API en reactjs o no. Quiero saber si alguien puede suger...

3  Reacciona el componente de la imagen que carga y difumina una imagen en un lienzo  ( React image component that loads and blurs an image onto a canvas ) 
Mi componente de imagen React.js Cargará una imagen de una cuerda URL o BASE64, haga un procesamiento en él y lo ponga en un lienzo. La punta de "precarga" es...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos