这是我想从中获取值组件代码
import React, {useEffect} from "react";
import "./Catalog.css"
import 'macro-css';
import Busket from "../Busket/Busket"
function Card(props){
const [complete, setComplete] = React.useState(false)
const handleComplete = () => {
setComplete(!complete)
{complete ? <Busket props={props} complete={complete}/>: <Busket />}
}
return(
<div>
<div className="card">
<img width="200px" height="250px" src={props.img} />
<h5>{props.title}</h5>
<div className="d-flex align-center justify-between">
<div>
<p>Цена:</p>
<b>{props.cost}руб</b>
</div>
<button className="Catalog__btn" onClick={handleComplete}><img width='10px' height='10px' src={complete ? require("../../../images/complete.png") : require("../../../images/plus.jpg") }/></button>
</div>
</div>
</div>
)
}
export default Card;
这是组件的代码,我想在其中引入一个值,但我得到了'undefined'
import React from "react";
import "./Busket.css"
import styles from "../Main/MainContent.module.css"
import BusketCard from "./BusketCard";
import"../Catalog/Card.js";
function Busket({complete}) {
return (
<div className={styles.MainContent}>
<button onClick={() => {console.log(complete)}}>+</button>
</div>
);
}
export default Busket;
默认complete为false,并且重新加载页面不是'undefined'的原因。当我尝试传输另一个变量时:计数= 0,我也得到了“未定义”。我不知道我应该做什么,帮助!
1条答案
按热度按时间gab6jxml1#
嘿,我认为你不确定的原因是因为这句话
complete默认为'false',因此它将呈现没有属性/值的
<Busket/>
,因此Busket组件中的{complete}变为'undefined',如果将'Complete'设置为true,则在<Busket/>
中将得到'True',因为只有当complete/condition为'true'<Busket props={props} complete={complete}/>
时才传递属性