我是新手,我有在两个不相关组件之间传递数据的场景.它们彼此之间是完全独立的.我有一些表单数据,无论用户输入什么,或者给定的数据应该从组件A显示到组件B.
以下是我所做的解释.
我已经创建了一个表单输入框和一个按钮.我用USSTATE创建了一个变量.我已经编写了一个提交数据的函数.我try 了上下文api,但对我不起作用.输出应该是相同的用户,给定值从组件A更新到组件B.
提前谢谢你
// code
// import { createContext } from "react";
import CompA from "./CompA";
import CompB from "./CompB";
import "./styles.css";
import { useState } from 'react'
function App() {
const [name, setName] = useState('first')
// const mydata = createContext();
// const name = 'Ramu'
return (
<div className="App">
<CompA setName={setName} value={name}/>
<CompB setName={setName} value={name}/>
</div>
);
};
export default App;
// componentA
import React, { useState } from 'react';
const CompA = ()=>{
const [name, setName] = useState('first')
const AHandler = (e)=>{
e.preventDefault()
}
return(
<div>
<h5>Component A</h5>
<div>{name}</div>
<form onSubmit={AHandler}>
<input type="text" onChange={(e)=>setName(e.target.value)}/>
<button type="submit" onClick={AHandler}>Component A</button>
</form>
</div>
)
}
export default CompA;
// componentB
import React, { useEffect } from 'react';
import CompA from './CompA'
const CompB = ({setName, name})=>{
useEffect(()=>{
setName(name)
})
return(
<div>
<h5>The user given input should dispaly in Component B {name}</h5>
</div>
)
}
export default CompB;