基本React Web应用程序
应用:
使用onMouseEnter和onmouseLeave呈现出与悬停按钮的联系。
问题:
无法更改悬停状态
附加:
如何在团队常量内将悬停状态从true更改为false?我刚反应过来。
我明白改变状态的简单方法,但这对我来说有点复杂。
const Team = [
{
Position: "Symposium General Chair",
Group: [
{
Name: ["DUmmy nam"],
Contact: ["222222222222"],
Hover: false
}
]
},
{
Position: "Symposium Chairs",
Group: [
{
Name: ["DUmmy namexx"],
Contact: ["33333333333"],
Hover: false
},
{
Name: ["DUmmy namexxcxzczx"],
Contact: ["2222222222"],
Hover: false
},
{
Name: ["DUmmy namexca"],
Contact: ["11111111111"],
Hover: false
}
]
}
];
//Not important but to split the array into 2
function chunkArray(myArray, chunk_size) {
var index = 0;
var arrayLength = myArray.length;
var tempArray = [];
for (index = 0; index < arrayLength; index += chunk_size) {
let myChunk = myArray.slice(index, index + chunk_size);
tempArray.push(myChunk);
}
return tempArray;
}
//Extracted focus code here
{chunkArray(Team, 2).map((col, i) => (
<div className="row" key={i}>
{col.map(_Team => (
<div key={_Team.Position} className="w-50 ">
<h5>
<span className="badge badge-pill badge-info col-sm ">
{_Team.Position}
</span>
</h5>
{_Team.Group.map(_Group => (
<h6 key={_Group.Name} className="col-sm ">
{_Group.Name}
{!_Group.Hover ? (
<button
type="button"
className="btn close"
//Problem is here how do I change the hover state to true?
onMouseEnter={_Group.Hover.setState(
(Hover = true)
)}
//Problem is here how do I change the hover to false?
onMouseLeave={_Group.Hover.setState(
(Hover = false)
)}
>
O
</button>
) : (
<div style={letterStyle} className="close">
{_Group.Contact}
</div>
)}
</h6>
))}
</div>
))}
</div>
))}
我觉得你有点忽略了使用React的意义。JSON结构非常混乱,我不确定您要做什么,但请看下面的CodeSandbox,因为我认为您应该使用setState更新程序,如下所示:
handleOnMouseEnter(teamIndex, groupIndex) {
console.log("entering teamIndex/groupIndex: ", teamIndex, groupIndex);
this.setState(state => {
state.teams[teamIndex].Group[groupIndex].Hover = true;
return state;
});
}
我认为我整理的片段应该能更好地向您展示如何正确地使用React执行您正在尝试的操作:
https://codesandbox.io/S/7WLX56J3R1
问题内容: 我有课程树: 我有这样的HQL查询: 此查询返回。 是否可以将返回的数据强制转换为以下类: 那么Hibernate可以进行铸造吗?还是我需要手动进行所有铸造? 问题答案: JPA查询中有不同类型的选择。 您当前正在使用Array作为返回类型,您需要的是Construct返回类型。 这是实现此目的的方法: 基本上有两件事: 自定义类必须是您的结果返回类型 自定义类必须具有一个构造函数,该
我有一个处理程序,在输入字段发生变化时触发。但是,当我将状态日志记录到控制台resData是'未定义'?这是不可能的,因为console.log(身体)确实返回结果。
我试图在promise的内设置状态,但状态值未保存,在then()外无法访问。 以下是更新后的代码: 如果我我得到一个值。但是,如果我console.log在那么()块,我得到正确的值。在这种情况下如何设置状态? 更新的说明: 为了给整个逻辑提供更好的上下文:我使用了一个GooglePlacesAutoComplete组件,它允许用户从下拉列表中选择一个位置。当用户从下拉列表中选择位置时,将调用上
关于,肯定有很多问题和答案,我也试过去看,但还没有发现一个与我的问题(或解决方案)非常相似的问题(或解决方案)有用。仍然很有可能有人在处理这个问题,如果是的话,请指出,并为重复的内容道歉。 以下是功能组件的相关代码: 下面是上面两个
问题内容: 我处于状态的对象数组: 我需要能够基于id属性搜索items数组,然后更新对象属性。 我可以使用id参数通过数组或在数组上获取对象。 我遇到的麻烦是更新数组,然后更新状态而不会发生突变。 此时,我有一个匹配的对象,可以使用对象传播来更新它的属性: 我的问题是我该如何更新状态,以使其覆盖初始查找操作返回的对象? 问题答案: 您的更新功能如下所示 你这样使用它 毛吧? 如果您继续以这种方式
我有一个React函数组件,沿着遗留的JQuery应用程序运行。在JQuery元素上调用事件处理程序时,传递当前React状态默认值为初始状态值,而不是更新后的状态值。 已验证的x状态正在通过useEffect钩子更改,但在调用事件侦听器时,x设置为初始状态值,而不是更新后的状态值。 不会显示任何错误消息。在本文的上述代码中,我希望onXSave方法调用中的x状态为true,但它一直显示为fals