useSearchParams

React

can do

get String that user type in the form!

src > react-router-dom > Contact.js

import { useNavigate, useSearchParams } from 'react-router-dom';

const Contact = () => {
  const navigate = useNavigate();
  const [params, setParams] = useSearchParams();
  const text = params.get("q"); <--setParamsのqが代入される
  
  return (
    <div>
      <h1>Contact Form</h1>
      <label>What's your name?</label>
      <input type='text' value='HELLO!' onChange={(e)=>
        setParams({ q: e.target.value; })
      } />
      <button onClick={()=>
        navigate('/', { state: { text, }, })
      }>SEND</button>
    </div>
  );
}
export default Contact;

src > react-router-dom > Top.js

import React from 'react';
import { useLocation } from 'react-router-dom';
const Top = () => {
  const location = useLocation();
  console.log(location);
  return (
    <div>
      <h1>TOP</h1>
      <p>Your Name is {location.state.text}</p>
    </div>
};
export default Top;
BACK