首页 > 解决方案 > React:在同一个组件中的函数之间共享一个变量

问题描述

我有一个函数,我应该在其中传递文件名,以便它可以到达下一个组件,但我不知道如何在功能性 React 中实现这一点。到目前为止,我有一个变量文件,它存储从下面的 API 返回的文件名

let file = "";
function submitForm(contentType, data, setResponse) {
    axios({
        url: `http://localhost:5000/uploadfile`,
        method: 'POST',
        data: data,
        headers: {
            'Content-Type': contentType
        }
    }).then((response) => {
        setResponse(response.data)
        file = response.data;
    }).catch((error) => {
        setResponse("error");
    })
}

我必须在下面的函数handleClick中传递

export default function Step2({fileName}) {

    function handleClick() {
        fileName = setFile(file);
        console.log(fileName);
        console.log(JSON.stringify(file));
        window.location.replace('/step3?fileName='+fileName)
    }

...

我需要了解这将如何工作。

标签: reactjsaxiosreact-hooksuse-statereact-16

解决方案


我通过在组件函数和 useState 挂钩中使用该函数来使其工作。


推荐阅读