React: [Docs] [Question] Refs - Callback vs String

Criado em 11 mar. 2016  ·  3Comentários  ·  Fonte: facebook/react

Eu estava lendo a documentação novamente, não está claro para mim a diferença entre definir um ref como um retorno de chamada e uma string:

<input ref={input => this._input = input} /> vs <input ref="input" />

Alguém pode me esclarecer por favor?

Comentários muito úteis

Se você definir ref como uma string, ele estará disponível no objeto this.refs , por exemplo, this.refs.input .
Se você definir uma referência de retorno de chamada, poderá fazer qualquer coisa com ela, incluindo salvá-la em this se desejar.

A string refs eventualmente será descontinuada. Refs de retorno de chamada foram introduzidos posteriormente, mas cobrem todos os casos de uso de refs de string e não têm algumas de suas desvantagens. Eu sugiro que você sempre use referências de retorno de chamada no novo código que você escrever.

No futuro, considere fazer perguntas no StackOverflow. Não consideramos oficialmente o rastreador de problemas como um fórum de suporte e, infelizmente, a pesquisa do GitHub não funciona tão bem quanto a pesquisa do StackOverflow, então é provável que alguém pergunte isso novamente. Ao passo que, se você postasse isso no StackOverflow, é provável que você recebesse uma boa resposta, sua pergunta seria votada e mais pessoas teriam aprendido com ela e encontrado no futuro.

Todos 3 comentários

Se você definir ref como uma string, ele estará disponível no objeto this.refs , por exemplo, this.refs.input .
Se você definir uma referência de retorno de chamada, poderá fazer qualquer coisa com ela, incluindo salvá-la em this se desejar.

A string refs eventualmente será descontinuada. Refs de retorno de chamada foram introduzidos posteriormente, mas cobrem todos os casos de uso de refs de string e não têm algumas de suas desvantagens. Eu sugiro que você sempre use referências de retorno de chamada no novo código que você escrever.

No futuro, considere fazer perguntas no StackOverflow. Não consideramos oficialmente o rastreador de problemas como um fórum de suporte e, infelizmente, a pesquisa do GitHub não funciona tão bem quanto a pesquisa do StackOverflow, então é provável que alguém pergunte isso novamente. Ao passo que, se você postasse isso no StackOverflow, é provável que você recebesse uma boa resposta, sua pergunta seria votada e mais pessoas teriam aprendido com ela e encontrado no futuro.

Obrigado novamente @gaearon. Vou usar StackOverflow na próxima vez.

Sem problemas! Sinta-se à vontade para enviar uma solicitação pull para a documentação se achar que podemos deixar mais óbvio que recomendamos o padrão de referência de retorno de chamada no novo código.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

huxiaoqi567 picture huxiaoqi567  ·  3Comentários

krave1986 picture krave1986  ·  3Comentários

kocokolo picture kocokolo  ·  3Comentários

zpao picture zpao  ·  3Comentários

UnbearableBear picture UnbearableBear  ·  3Comentários