我正在尝试做的是,当单击按钮时,在 onclick 时它的变体(材质 ui 按钮应该从轮廓变为包含)或者只是它的背景应该改变。(请不要建议使用 onFocus 属性,因为这是另一个组件中的另一个按钮,单击该按钮时会丢失焦点。所以 onFocus 不是我的选择)。我在这里找到我的方法,你可以改变它(因为我的无论如何都不起作用,它会无限期地改变状态为真)
const [clicked, setClicked] = useState(false);
const categoryChangedHandler = (e) => {
setCategory(e);
};
{categories.map((category, index) => {
console.log("catogoried.map called and categories= " + category);
return <Button className="CategoryButton"
variant={clicked ? "contained" : "outlined"}
color="primary"
value={category}
onClick={() => {
categoryChangedHandler(category);
setClicked(true);
}}
style={{ textAlign: 'center' }}
>
{category}
</Button>
})
}