scrimba
Frontend Career Path
Getting hired
LinkedIn
Adding an awesome cover image
Go Pro!Bootcamp

Bootcamp

Study group

Collaborate with peers in your dedicated #study-group channel.

Code reviews

Submit projects for review using the /review command in your #code-reviews channel

Adding an awesome cover image
AboutCommentsNotes
Adding an awesome cover image
Expand for more info
index.js
run
preview
console
import React from 'react'
import ReactDOM from 'react-dom'
const { useState, useEffect, useRef } = React;
const utm = "?utm_source=scrimba_degree&utm_medium=referral"


const loadData = (options) => {
fetch(options.url)
.then(function(response){
return response.json()
})
.then(function(data){
if (options.onSuccess) options.onSuccess(data)
})
}

const App = (props) => {
let [photo, setPhoto] = useState([]);

// CHANGE THE THEME OF YOUR BACKGROUND COVER
// E.G YOUR HOBBY, COUNTRY, INTEREST, OR JUST SOMETHING VISUALLY PLEASING
let [query, setQuery] = useState("chicago");

const queryInput = useRef(null);
const url =
"https://apis.scrimba.com/unsplash/photos/random/?orientation=landscape"
useEffect(() => {
const photoUrl = query ? `${url}&query=${query.split(" ").join("+")}` : url;
loadData({
url: photoUrl,
onSuccess: res => {
setPhoto(res);
}
});
}, [query, url]);

const searchPhotos = e => {
e.preventDefault();
setQuery(queryInput.current.value);
};

if (query && photo.id) {
return (
<div className="container">
<div key={photo.id} className="item">
<img
className="img"
src={photo.urls.regular}
/>
<div className="red-border">
</div>
<div className="right-frame">

{/* ADD YOUR PERSONAL DETAILS */}
<h4 className="name first-name">Per</h4>
<h4 className="name last-name">Borgen</h4>
<div className="divider"></div>
<h5 className="job-title">Frontend Developer</h5>
<h5 className="email">per@scrimba.com</h5>
<h5 className="phone">+47 22 22 55 55</h5>

</div>
<div className="caption">
<span className="credits">Photo by
<a href={photo.user.links.html + utm}> {photo.user.name}
</a>
<span> on </span>
<a href={"https://unsplash.com" + utm}>
Unsplash
</a>
</span>
</div>
</div>
</div>
)
}
else {
return (<div></div>)
}
}

ReactDOM.render(<App />, document.getElementById("root"));
Console
/index.html
-1:40