我应该使用useRef还是提升状态来处理以下情况?

时间:2020-08-12 14:25:19

标签: reactjs react-hooks

在某些情况下,我必须在父组件中发送请求,而param是子组件的状态。 我可以这样吗?

function Parent() {
    const paramRef = useRef(null)
    return <Modal onConfirm={()=>{request(paramRef.current)}}>
               <Child bindParam = {(param) => paramRef.current = param} />
           </Modal>
}

function Child({bindParam}) {
    const [state, setState] = useState('foo')
    useEffect(()=>{
        bindParam(state)
    }, [state, bindParam])
    
    return ...
}

或者我必须提高孩子的状态。 对不起,我英语不好。我能把问题弄清楚吗?

1 个答案:

答案 0 :(得分:0)

请将状态“ useState()”移动到父组件,并将其作为道具传递给子组件。

googleCalnedarID

现在,您应该能够在父级或子级更改状态,但是您需要知道状态更改将重新呈现组件。