我正在学习React,并尝试不使用基于类的组件,而是将组件作为函数实现。
我有一个简单的应用程序,它执行查询到DB。我的组件基本上是Searchbar和DataArray,在App中构建。
我正在努力解决如何将SearchBar中读取的值(输入字段查询)传递给DB查询函数,然后将结果传递给DataArray。Props在这里是行不通的。是否应该使用状态?那么,我如何从另一个组件中读取状态,或者我可以吗?
我在这里缺少什么?
在这里感谢任何帮助。
br, Mika
下面是用React Hooks的一种方法。GET_REQUEST取决于你想做什么样的HTTP-request。
const SearchBar = () => {
const [myStateVariable, setMyStateVariable] = useState(null)
const { loading, data } = useQuery(GET_REQUEST, {
variables: "my_request_param"
})
useEffect(() => {
if(!loading && data) {
setMyStateVariable(data)
}
}, data)
return (
!loading && (
<DataArray propsVariable={myStateVariable} />
)
)
}
const DataArray = ({ propsVariable }) => {
return (
<div>My variable from request: {propsVariable}<div/>
)
}