我正在使用 react.js,并且我有以下代码。
function App() {
let Submitable;
const [values, setValues] = useState([])
//...
onTicket.save = () => {
console.log(Submitable) // logs undefiened
if (Submitable) {
return true
} else {
return `Please fill out the following fields before submitting:${values.map(el => ` ${el.name}`)}`
}
})
useEffect(() => {
if (values.length === 0) {
Submitable = true
//enableSave
} else {
Submitable = false
//disableSave
}
}, [values])
return (
<>
///jsx code block
</>
);
}
export default App;
我认为在 useEffect 函数将 Submitable 设置为 true 或 false 时,该值将传递给其他函数,但在调用时,Submitable 日志未定义。如果我尝试将 Submitable 作为参数传递,它也会记录未定义。