大佬教程收集整理的这篇文章主要介绍了在下一个js中从父级传递到组件时未定义道具,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有 /pages/profile.Js 调用 lovedOne 元素,从 props 传递值。 调试显示这些值在传递时有效
import React from "react";
import lovedOne from "../components/loved_one";
export const Profile = ({ loved_ones }) => {
const [session,loading] = useSession();
if (loading) return <div>loading...</div>;
if (!session) return <div>no session</div>;
return (
<Layout>
{session && (
<>
<img src={session.user.imagE} classname="avatar" />
<h1>{session.user.namE}</h1>
</>
)}
{loved_ones.map((loved_one,indeX) => (
<lovedOne
key={index}
firstname={loved_one.firstnamE}
surname={loved_one.surnamE}
email={loved_one.email}
/>
))}
<style Jsx>{`
.avatar {
wIDth: 220px;
border-radius: 10px;
}
`}</style>
</Layout>
);
};
但是在 /components/loved_one.Js 中我的 props 是未定义的
import React,{ useState,useRef } from "react";
export const lovedOne = ({ props }) => {
const [setActive,setActiveState] = useState("");
const [setHeight,setHeightState] = useState("0px");
const content = useRef();
function toggleAccordion() {
setActiveState(setActive === "" ? "active" : "");
setHeightState(
setActive === "active" ? "0px" : `${Content.current.scrollHeight}px`
);
}
return (
<div>
<div classname="row">
<button
classname={`collection-item ${setActivE}`}
onClick={toggleAccordion}
>
<i classname="fas fa-plus teal-text"></i>
</button>
<div classname="col s2">
{props.firstnamE} {props.surnamE}
</div>
<div classname="col s2">{props.email}</div>
</div>
<div ref={Content} style={{ maxHeight: `${setHeight}` }}>
<span>some stuff</span>
</div>
</div>
);
};
export default lovedOne;
我尝试过传递单个变量,并传递整个 love_ones 对象。我遇到了同样的问题。
非常感谢任何帮助!
以上是大佬教程为你收集整理的在下一个js中从父级传递到组件时未定义道具全部内容,希望文章能够帮你解决在下一个js中从父级传递到组件时未定义道具所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。