reactjs - 重新渲染反应中的道具变化不起作用
问题描述
我想重新渲染一个组件,因为我想更改 JSX HTML 我试图创建一个要重新渲染的状态,因为新的状态更改。
function todo(props) {
function toggleactive(){
}
if(props.done === true){return (
<div className={Styles.main}>
<div className="flex items-stretch">
<h1>{props.title}</h1>
<button className={Styles.maxleft} onClick={() => toggleactive()}><svg xmlns="http://www.w3.org/2000/svg" className="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" />
</svg></button>
</div>
<div className="divide-solid">
</div>
<div className="description">
<p>{props.description}</p>
</div>
<div className="flex space-x-5 justify-end">
<button><svg xmlns="http://www.w3.org/2000/svg" className="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M6 18L18 6M6 6l12 12" />
</svg></button>
<button><svg xmlns="http://www.w3.org/2000/svg" className="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z" />
</svg></button>
</div>
</div>
)}
else{
console.log("d")
}
}
并在这样的数组中实现它
<div>
<div className="wd-4/5 flex">
<button onClick={ () => settodos([...todos,{"name":faker.name.jobType(),"title":"d"}])}> new </button><br></br>
<button className="bg-red-600 font-normal font-sans rounded-full text-xl bg-opacity-75 p-1" onClick={() => settodos(deleterandom)}>delete random</button>
</div>
<div className="">
{todos.map(function(idx,dx){
return (<li>{todo({"name":idx.title,"description":"d","title":idx.title,"done":true,"key":uniqueId()})}</li>)
})}
</div>
</div>
现在我想将代码写入切换活动函数以使用新的 props.value 变量重新渲染。
解决方案
你的意思是这样的?
const [active, setActive] = useState(false)
function toggleactive(){
setActive(!active)
}
推荐阅读
- node.js - 如何将数组中的数组保存到文件中?
- java - 使用 jdk.compiler 模块获取值作为注释的类
- javascript - 如何将 MJML 上的相对路径与 mjml-react 一起用于电子邮件模板
- mysql - 如何在 MySQL 中查询可扩展的价格
- c++ - 子类访问时超类成员指针变为空
- python - 如何解决这个问题?超出 HTTPConnectionPool 最大重试次数(NewConnectionError 无法建立新连接:[Errno 11002] getaddrinfo failed)
- php - 错误:stdClass 类的对象无法转换为字符串
- php - 如何使用查询生成器获取几乎与 sql 中列中的单词匹配的单词
- node.js - 使用 Node.js 下载和执行 .exe 文件时出现 EBUSY 错误
- android - 使用 gitLab ci/cd 时如何自动动态指定应用程序名称