【发布时间】:2020-08-28 08:20:06
【问题描述】:
我对反应非常陌生(我只使用过类),我想将我的输入值添加到 foodList 并将它们写在屏幕上,但我的大脑被锁定了,我无法弄清楚如何......
任何提示都会有所帮助,谢谢!
import React, {useState, useEffect} from 'react';
const Form = () => {
const [recipe, setRecipe] = useState("");
const [ingrediens, setIngrediens] = useState("");
const [foodList, setFoodList] = useState([])
const handleChange = event => {
setIngrediens({[event.target.name]: event.target.value})
setRecipe({[event.target.name]: event.target.value})
}
const handleClick = event => { // Here is where i get problem
}
return (
<main>
<button onClick={handleClick}>add</button>
<div className="form">
<input type="text" placeholder="Enter your recipe" name="recipe" onChange={handleChange} ></input>
<input type="text" placeholder="Enter your ingrediens" name="ingrediens" onChange={handleChange} ></input>
</div>
<div className="results">
<ul>
{foodList.map(i => (
<li key={i}> {recipe} <p> {ingrediens} </p> </li>
))}
</ul>
</div>
</main>
)
}
export default Form;
【问题讨论】:
-
可能你想在
handleClick函数中调用setFoodList函数。这个 SO 问题也有帮助:Push method in React Hooks (useState)
标签: javascript arrays reactjs higher-order-functions