Rescreva essa parte da string com as seguintes condições:
      1. Não elimine NENHUMA informação dada no artigo.
      2. Termos, variáveis, expressões ou referências devem ser SEMPRE mantidos em inglês.
      3. Apenas transcreva o artigo, tornando ele mais literal e direto, para um português simples, sem alterar o contexto.
      4. Não remova as tags HTML e nem os "#thedivisor#".
      5. Você deve me enviar sua resposta em texto puro, sem markdown.

      #thedivisor#We will be using <code>props</code> here, and you will learn more about them in the next lesson. For now, you just need to know that <code>props</code> are arguments that are passed into components.#thedivisor#Keys are passed into the component or a DOM element as a prop. You should already be familiar with the syntax.#thedivisor#<span id="keys-from-data">Now that we know the syntax, the next question is: what should be used as a key? Ideally, they should be some identifier that is unique to each item in the list. Most databases assign a unique id to each entry, so you shouldn’t have to worry about assigning an id yourself. If you are defining data yourself, it is good practice to assign a unique <code>id</code> to each item. You can use the <a href="https://developer.mozilla.org/en-US/docs/Web/API/Crypto/randomUUID" target="_blank" rel="noopener noreferrer">crypto.randomUUID() function</a> to generate a unique id. Let’s look at an example:</span>#thedivisor#<span id="index-as-key">Additionally, if you’re sure the list will remain unchanged throughout the application’s life,  you can use the array index as a key. However, this is not recommended since it can lead to confusing bugs if the list changes when items are deleted, inserted, or rearranged. You will learn more about this in the assignment section’s linked article.</span>#thedivisor#<span id="anti-pattern">Keys are straightforward to use, though there is an anti-pattern you should be aware of. Keys should never be generated on the fly. Using <code>key={Math.random()}</code> or <code>key={crypto.randomUUID()}</code> <em>while</em> rendering the list defeats the purpose of the key, as now a new <code>key</code> will get created for every render of the list. As shown in the above example, <code>key</code> should be inferred from the data itself.</span>#thedivisor#Don’t fret if some of the terms covered in the lesson don’t make sense yet. What’s crucial right now is knowing how to use keys effectively in React. As mentioned earlier, the more you learn about React, the more you will understand the importance of keys. Furthermore, using keys is not limited to rendering lists. You might encounter use cases where keys are needed, we’ll leave that for you to discover.#thedivisor#<li>
        <p>Read this <a href="https://react.dev/learn/rendering-lists#keeping-list-items-in-order-with-key" target="_blank" rel="noopener noreferrer">section on keys in the React docs</a>.</p>
      </li>
      <li>
        <p>Watch this short video demonstrating <a href="https://youtu.be/xlPxnc5uUPQ" target="_blank" rel="noopener noreferrer">index as key being an anti-pattern</a>.</p>
      </li>#thedivisor#Read this <a href="https://react.dev/learn/rendering-lists#keeping-list-items-in-order-with-key" target="_blank" rel="noopener noreferrer">section on keys in the React docs</a>.#thedivisor#Watch this short video demonstrating <a href="https://youtu.be/xlPxnc5uUPQ" target="_blank" rel="noopener noreferrer">index as key being an anti-pattern</a>.#thedivisor#The following questions are an opportunity to reflect on key topics in this lesson. If you can’t answer a question, click on it to review the material, but keep in mind you are not expected to memorize or master this knowledge.