Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

166
Views
Tome el valor de entrada del formulario de envío y guárdelo en la tienda redux para usarlo más tarde

Estoy haciendo un proyecto donde la primera pantalla es una entrada simple para poner el nombre, y luego pasa a otra pantalla (otro componente) donde necesito usar el valor que el usuario puso en la entrada antes para mostrar contenido personalizado . Traté de hacerlo con Redux pero tengo dificultades para almacenar el valor de entrada en Redux Store y luego usar ese valor en otro componente. Me gustaría saber cómo podría almacenar este valor y luego usarlo en otro componente (honestamente, no tengo idea de cómo hacerlo). Si alguien quiere, también puedo mostrar el código del otro componente.

mi primer componente (donde el usuario pone su nombre):

 import React, {useState, useEffect} from "react"; import "../_assets/signup.css"; import "../_assets/App.css"; import { Link } from 'react-router-dom'; function Signup() { const [name, setName] = useState('') const [buttonGrey, setButtonGrey] = useState('#cccccc') useEffect(() => { if(name!== '') { setButtonGrey("black") } else { setButtonGrey('#cccccc') } }, [name]) const handleSubmitForm= (e) => { e.preventDefault() store.dispatch({ type: 'SAVE_USER', payload: name, }) console.log({name}) } const handleChangeName = (text) => { setName(text) } return ( <div className="container"> <div className="LoginBox"> <form onSubmit={handleSubmitForm}> <h2>Welcome to codeleap network</h2> <text>Please enter your username</text> <input type="text" name="name" value={name} onChange = {e => handleChangeName(e.target.value)} placeholder="Jane Doe" /> <div className="button"> <Link to="/main"> <button type="submit" style={{backgroundColor: buttonGrey}} disabled={!name} > ENTER </button> </Link> </div> </form> </div> </div> ); } export default Signup;

mi tienda.js:

 import { createStore } from 'redux'; const reducer = (state= (''), action) => { switch(action.type) { case 'SAVE_USER': { state = {...state, name: action.payload} } default: return state } } const store = createStore(reducer) export {store}

Bóveda

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Primero, sugiero usar Redux-Toolkit . Hace que ponerse de pie y configurar una tienda React redux sea casi demasiado fácil.

Aquí está la guía de inicio rápido

  1. Crear/convertir a una porción de estado. Cuando crea un segmento, está declarando el nombre del segmento de estado, las acciones y las funciones reductoras al mismo tiempo, todo a la vez.

     import { createSlice } from "@reduxjs/toolkit"; const userSlice = createSlice({ name: "user", initialState: "", reducers: { saveUser: (state, action) => action.payload } });
  2. Crear y configurar la tienda.

     import { configureStore } from "@reduxjs/toolkit"; import userSlice from "../path/to/userSlice"; const store = configureStore({ reducer: { user: userSlice.reducer } });
  3. Renderice un Provider y pase la prop de la store .

     import { Provider } from "react-redux"; <Provider store={store}> ... app component ... </Provider>

A partir de aquí, se trata de importar la función de dispatch y seleccionar el estado, use useDispatch y useSelector de react-redux para esto.

Inscribirse

 import { useDispatch } from "react-redux"; function Signup() { const dispatch = useDispatch(); // <-- dispatch function const navigate = useNavigate(); const [name, setName] = useState(""); const handleSubmitForm = (e) => { e.preventDefault(); dispatch(userSlice.actions.saveUser(name)); // <-- dispatch the action navigate("/main"); }; const handleChangeName = (text) => { setName(text); }; return ( ... ); }

Ejemplo Componente principal:

 import { useSelector } from "react-redux"; const Main = () => { const user = useSelector((state) => state.user); // <-- select the user state return ( <> <h1>Main</h1> <div>User: {user}</div> </> ); };

Edite take-input-value-from-submit-form-and-store-in-redux-store-to-use-later

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!