I am trying to link one of my react components to the other and it is is coming up as undefined. I have no idea what to do now because I have no experience with linking an export default function.
I am trying to link this code
import React from "react";
import "./styles.css";
import { loadStripe } from "@stripe/stripe-js";
const stripePromise = loadStripe(
"pk_test_51IUqMCJ2iOysJZvP3vrQpEoV2l1SpF9PzkycqVdKjmC3RYuDC3AqTvRfBDcsDwDmtxJlkUyip4GQOb8Akt0lF3O100RSHVPfch"
);
const DonationButton = ({ itemID, ammount }) => {
const handleClick = async (event) => {
const stripe = await stripePromise;
stripe
.redirectToCheckout({
lineItems: [{ price: itemID, quantity: 1 }],
mode: "payment",
successUrl: window.location.protocol "//localpdf.tech/merge",
cancelUrl: window.location.protocol "//localpdf.tech/merge",
submitType: "donate",
})
.then(function (result) {
if (result.error) {
console.log(result);
}
});
};
return (
<button
onClick={handleClick}
>
Donate {ammount}$
</button>
);
};
export default function App() {
return (
<>
<div className="justify-center items-center flex overflow-x-hidden overflow-y-auto fixed inset-0 z-50 outline-none focus:outline-none">
<DonationButton
ammount={"5.00"}
itemID="price_1IUx1FJ2iOysJZvP1LD3EzTR"
></DonationButton>
</div>
</>
);
}
To this component
import React, { useState } from 'react';
import Navigation from "./Navigation";
import About from "./About";
import Contact from "./Contact";
import Portfolio from "./Portfolio";
import Resume from "./Resume";
function Header() {
const [currentPage, handlePageChange] = useState("About");
// The renderPage method uses a switch statement to render the appropriate current page
const renderPage = () => {
switch (currentPage) {
case "About":
return <About />;
case "Portfolio":
return <Portfolio />;
case "Contact":
return <Contact />;
case "Resume":
return <Resume />;
default:
return <About />;
}
};
return (
<div>
<nav className="navbar">
<div className="navbar-brand">
<a
className="navbar-item"
rel="noreferrer"
target="_blank"
href="https://github.com/Andrewy2416?tab=repositories"
>
<span className="content is-size-1 has-text-black">Andrew Yun</span>
</a>
</div>
</nav>
{/* Pass the state value and the setter as props to NavTabs */}
<Navigation
currentPage={currentPage}
handlePageChange={handlePageChange}
/>
{/* Call the renderPage function passing in the currentPage */}
<main>
<div>{renderPage(currentPage)}</div>
</main>
</div>
);
}
export default Header;
At the top of the second code what do I put? do I put import DonationButton from "./Donate.js"
or do I put
import function App() {
return (
<>
<div className="justify-center items-center flex overflow-x-hidden overflow-y-auto fixed inset-0 z-50 outline-none focus:outline-none">
<DonationButton
ammount={"5.00"}
itemID="price_1IUx1FJ2iOysJZvP1LD3EzTR"
></DonationButton>
</div>
</>
); from ""./Donate"
THANK YOU SO MUCH FOR ANY HELP!!!
CodePudding user response:
I'm guessing that you've got a Donate/
folder and within this folder, you've got an index.js
file. If it's like that then on the index.js
you should remove the <App />
component a just export the <DonationButton />
component as a default, such as:
const DonationButton = ({ itemID, amount }) => {
...
};
export default DonationButton;
Then you can import it as import DonationButton from './Donate'
.