Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

475
Visualizações
Enlace de datos en React

Lo que quiero hacer es cuando escribo texto en un campo de entrada, debería aparecer en otro lugar en tiempo real.

A continuación se muestra mi entrada;

 <div className="post_input"> <input className='post_data_input_overlay' placeholder="Ask your question here" ref="postTxt"/> </div>

¿Cómo puedo lograr eso?

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

El enlace de datos en React se puede lograr mediante el uso de una controlled input . Se logra una entrada controlada vinculando el valor a una state variable y un evento onChange para cambiar el estado a medida que cambia el valor de entrada.

Vea el siguiente fragmento

 class App extends React.Component { constructor() { super(); this.state = { value: 'Hello World' }; } handleChange = (e) => { this.setState({ value: e.target.value }); }; render() { return ( <div> <input type="text" value={this.state.value} onChange={this.handleChange} /> <p>{this.state.value}</p> </div> ); } } ReactDOM.render(<App />, document.getElementById('app'));
 <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.js"></script> <div id="app"></div>


Actualización: ganchos de reacción

Aquí hay un componente de función equivalente de la clase definida anteriormente.

 const { useState } = React; const App = () => { const [value, setValue] = useState('Hello World'); const handleChange = (e) => setValue(e.target.value); return ( <div> <input type="text" value={value} onChange={handleChange} /> <p>{value}</p> </div> ); }; ReactDOM.render(<App />, document.getElementById('app'));
 <script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.14.0/umd/react.production.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.14.0/umd/react-dom.production.min.js"></script> <div id="app"></div>

over 4 years ago · Santiago Trujillo Relatório

0

Para ser breve, en React, no hay enlace de datos bidireccional.

Entonces, cuando desee implementar esa función, intente definir un state y escriba así, escuchar eventos, actualizar el estado y React renderiza por usted:

 class NameForm extends React.Component { constructor(props) { super(props); this.state = {value: ''}; this.handleChange = this.handleChange.bind(this); } handleChange(event) { this.setState({value: event.target.value}); } render() { return ( <input type="text" value={this.state.value} onChange={this.handleChange} /> ); } }

Detalles aquí https://facebook.github.io/react/docs/forms.html

ACTUALIZACIÓN 2020

Nota :

LinkedStateMixin está obsoleto a partir de React v15. La recomendación es establecer explícitamente el valor y cambiar el controlador, en lugar de usar LinkedStateMixin.

actualización anterior del sitio oficial de React. Use el código a continuación si está ejecutando bajo v15 de React; de lo contrario , no lo haga.

En realidad, hay personas que desean escribir con enlace bidireccional, pero React no funciona de esa manera. Si quieres escribir así, debes usar un complemento para React, como este:

 var WithLink = React.createClass({ mixins: [LinkedStateMixin], getInitialState: function() { return {message: 'Hello!'}; }, render: function() { return <input type="text" valueLink={this.linkState('message')} />; } });

Detalles aquí https://facebook.github.io/react/docs/two-way-binding-helpers.html

Para refs , es solo una solución que permite a los desarrolladores llegar al DOM en los métodos de un componente, consulte aquí https://facebook.github.io/react/docs/refs-and-the-dom.html

over 4 years ago · Santiago Trujillo Relatório

0

Con la introducción de los ganchos React , la gestión del estado (incluido el estado de los formularios) se volvió muy simple y, en mi opinión, mucho más comprensible y predecible en comparación con la magia de otros marcos. Por ejemplo:

 const MyComponent = () => { const [value, setValue] = React.useState('some initial value'); return <input value={value} onChange={e => setValue(e.target.value)} />; }

Este flujo unidireccional hace que sea trivial comprender cómo se actualizan los datos y cuándo ocurre la representación. Simple pero poderoso para hacer cosas complejas de manera predecible y clara. En este caso, haga un enlace de estado de forma "bidireccional".

El ejemplo utiliza el valor de cadena primitivo. Gestión de estados complejos, p. Los objetos, las matrices, los datos anidados también se pueden administrar de esta manera, pero es más fácil con la ayuda de bibliotecas, como Hookstate (Descargo de responsabilidad: soy el autor de esta biblioteca). Aquí está el ejemplo de gestión de estado complejo .

Cuando un formulario crece, hay un problema con el rendimiento de la representación: el estado del formulario cambia (por lo que es necesario volver a presentar) en cada pulsación de tecla en cualquier campo de formulario. Hookstate también aborda este problema. Este es el ejemplo del formulario con 5000 campos : el estado se actualiza en cada almacén de claves y no hay ningún retraso en el rendimiento.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda