Nolra / front_course_2023

charity course
7 stars 0 forks source link

React Effect junior #23

Open Nolra opened 1 year ago

Nolra commented 1 year ago

Code: https://github.com/Nolra/front_course_2023/tree/react-effect-junior

Документация (только en) 1) https://react.dev/reference/react/useEffect 2) https://react.dev/learn/you-might-not-need-an-effect

Домашнее задание: (https://nolra.github.io/react_hw/ - вкладка Effect, компонент Loading bio)

Напишите компонент, который показывает биографию для выбранного человека, используя предоставленный API. Компонент должен загружать биографию, вызывая асинхронную функцию fetchBio(person) из API при монтировании и при каждом изменении person. Эта асинхронная функция возвращает Promise, который в конечном итоге превращается в строку.

// api.js
const db = {
  Taylor : 'This is a biography of Taylor.',
  Bob : 'This is a biography of Bob.',
  Alice : 'This is a biography of Alice.',
}

const fetchBio = async function(person) {
  return new Promise((resolve, reject) => (
    setInterval(
        () => {
          if (db[person]) resolve(db[person])
          else reject(new Error("incorrect name!"))
        }, 3000
      )
    )
  )
}

export { fetchBio };
voidaugust commented 12 months ago

https://pashbespaloff.github.io/react-craftworks/ https://github.com/pashbespaloff/react-craftworks

NastyaKamalova commented 11 months ago

https://github.com/NastyaKamalova/react_hw/tree/main/src/components/Effect/Bio https://nastyakamalova.github.io/react_hw/