在reactjs函数中输入数组值



我试图使用"inputTime"在if语句中,但我不确定如何导入它。我试过& item.inputTime"并将其放入const check = (inputTime)"我不能在checkconst中使用它。inputTime是一个useState

import React from 'react';
import nextId from "react-id-generator";
const Form = ({setInputText, inputText, setInputTime, inputTime, setInputDate, inputDate, todos, setTodos,  setStatus}) =>{

const check = () => {
var today = new Date();
var curTime = today.getHours()+':'+today.getMinutes();
todos.forEach(item => {
console.log(item.inputTime + curTime + inputTime);
if(item.inputTime > curTime){
console.log("if");
} else{
console.log("else");
}
});
}
return(
<form>
<input value={inputText} onChange={inputTextHandler} type="text" />

<input value={inputTime} onChange={inputTimeHandler} type="time" />

<button onClick={submitTodoHandler} type="submit">
Lägg till
</button>
<button onClick={check(inputTime)} type="submit">
Lägg till
</button>
<div>
<select onChange={statusHandler}>
<option value="all">All</option>
<option value="completed">Completed</option>
<option value="uncompleted">Uncompleted</option>
</select>
</div>
</form>
);
};
export default Form;

首先,函数的引用必须传递给onClick事件。在这行代码中,

<button onClick={check(inputTime)} type="submit"> Lägg till </button>

check(inputTime)触发函数,而不是将其作为引用传递。它必须以引用的形式传递,比如

onClick ={()=>check(inputTime)}

这里传递的是对匿名函数的引用。请试一试。

最新更新