Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么不是';t<;部门>;使用classname=";评论“;即使it';是否在单击按钮时更改了s样式属性? 我是ReaT.JS和JS的新手,在回答问题的时候请考虑一下。 我试图切换单击按钮时创建的注释框的可见性。我正在使用“usestate”钩子设置初始状态,并在单击按钮时切换可见性状态。即使在单击按钮时状态正在更新,注释框也不会与更新的状态重新关联_Javascript_Reactjs_React Redux - Fatal编程技术网

Javascript 为什么不是';t<;部门>;使用classname=";评论“;即使it';是否在单击按钮时更改了s样式属性? 我是ReaT.JS和JS的新手,在回答问题的时候请考虑一下。 我试图切换单击按钮时创建的注释框的可见性。我正在使用“usestate”钩子设置初始状态,并在单击按钮时切换可见性状态。即使在单击按钮时状态正在更新,注释框也不会与更新的状态重新关联

Javascript 为什么不是';t<;部门>;使用classname=";评论“;即使it';是否在单击按钮时更改了s样式属性? 我是ReaT.JS和JS的新手,在回答问题的时候请考虑一下。 我试图切换单击按钮时创建的注释框的可见性。我正在使用“usestate”钩子设置初始状态,并在单击按钮时切换可见性状态。即使在单击按钮时状态正在更新,注释框也不会与更新的状态重新关联,javascript,reactjs,react-redux,Javascript,Reactjs,React Redux,APP.js import React,{useState}来自“React”; 导入“/App.css”; 导入“/main.css”; 从“react redux”导入{connect}; 函数MapStateTops(状态){ 返回{ 项目:state.item }; } 功能应用程序(道具){ var[可见性,切换可见性]=使用状态(“可见”); 切换可见性=()=>{ 控制台日志(可见性,“外部”) 如果(可见性==“隐藏”){ 可见性=“可见” 控制台日志(可见性,“可见”) } 否

APP.js

import React,{useState}来自“React”;
导入“/App.css”;
导入“/main.css”;
从“react redux”导入{connect};
函数MapStateTops(状态){
返回{
项目:state.item
};
}
功能应用程序(道具){
var[可见性,切换可见性]=使用状态(“可见”);
切换可见性=()=>{
控制台日志(可见性,“外部”)
如果(可见性==“隐藏”){
可见性=“可见”
控制台日志(可见性,“可见”)
}
否则{
可见性=“隐藏”
控制台日志(可见性,“隐藏”)
}
};
返回(
项目1

12

下午1:10

关闭

{props.item.map((值,索引)=>{console.log(值) 返回( {value.itemName}

{value.itemNumber}

)})}

无评论

); } 导出默认连接(MapStateTops)(应用程序);
INDEX.js

从“React”导入React;
从“react dom”导入react dom;
导入“/index.css”;
从“/App”导入应用程序;
从“react redux”导入{Provider};
从“redux”导入{createStore};
将*作为serviceWorker从“/serviceWorker”导入;
函数缩减器(状态=初始状态,动作){
日志(“减速机”、状态、动作);
开关(动作类型){
案例“结束”:
如果(state.visibility==“可见”){
返回{
可见性:“隐藏”
};
}否则{
返回{
可见性:“可见”
};
}
违约:
返回状态;
}
}
常量初始状态={
项目:[{
品名:“炒饭”,
项目编号:2,
评论:“无评论”,
可见性:“可见”
},
{ 
物品名称:“鸡65”,
项目编号:4,
评论:“无评论”,
可见性:“不可见”
},
{ 
物品名称:“麦肯65”,
项目编号:6,
评论:“无评论”,
可见性:“不可见”
}]
};
const store=createStore(reducer);
ReactDOM.render(
,
document.getElementById(“根”)
);
register();

您的
开关可见性
函数必须接收新状态作为第一个参数,并且您不能(永远!)自己修改状态变量(
可见性
)。 您还将
switchVisibility
重新分配给一个新功能

我建议你仔细阅读,似乎你缺少一些关于钩子的基本知识

所以:应该是这样的:

<div className="Button" onClick={() => {
  if(visibility==="hidden"){
    switchVisibility("visible")
  }
  else{
    switchVisibility("hidden")
  }
}}>
  <p style={{ marginTop: "0px", marginLeft: "4px" }}>CLOSE</p>
</div>
{
如果(可见性==“隐藏”){
切换可见性(“可见”)
}
否则{
切换可见性(“隐藏”)
}
}}>

关闭


我看到上面的代码有些混乱。您正在使用React state(
useState
),但似乎也在使用redux来管理相同的状态。尽量保持简单(暂时删除redux)