Я не уверен, что вы имеете в виду, используя карри. Карринг - это концепция функции, возвращающей другую функцию, которая может быть выполнена в другой момент времени, и у нее есть снимок переменных родительской функции.
Если обратиться к вашей проблеме, хорошей идеей будет получить данные, необходимые для компонента в том же компоненте. Вы должны передать идентификатор Pokemon или URL-адрес компоненту backCard и выполнить там вызов REST, чтобы получить данные с помощью ловушек и заполнить компонент.
Я только что проверил API https://pokeapi.co/api/v2/pokemon, можете ли вы передать URL-адрес в качестве реквизита компоненту backCard.
CardContainer:
import React, { Component } from 'react';
import Frontcard from '../Components/frontCard';
import Backcard from '../Components/backCard';
class Cardcontainer extends Component {
state= {
pokemon: [],
cardBack: []
}
componentDidMount() {
const xhr = new XMLHttpRequest();
const url = 'https://pokeapi.co/api/v2/pokemon';
xhr.onload = () => {
if(xhr.status === 200) {
const data = JSON.parse(xhr.responseText);
const pokeList = data.results;
this.setState(
{ ...this.state,
pokemon: pokeList,
}
)
}
else {
console.log('not ok')
}
}
xhr.open('GET', url, true);
xhr.send();
}
render() {
return (
this.state.pokemon.map((poke, index)=>{
return (
<div className={"card-container"}
key={index}
>
<Frontcard name=
{this.state.pokemon[index].name}/>
<Backcard frontName=
{poke.name} number={index} name=
{poke.name} url={poke.url} />
</div>
)
})
)
}
}
export default Cardcontainer;
backCard
import React, { useState, useEffect } from 'react';
const Backcard = (props) => {
const [data, setData] = useState({});
useEffect(() => {
const xhr = new XMLHttpRequest();
xhr.onload = () => {
const backData = JSON.parse(xhr.responseText);
const joined = this.state.cardBack.concat(backData)
setData(joined);
}
xhr.open('GET', this.props.url, true);
xhr.send();
}, []);
const details = props;
console.log(!details.name? 'hi':details.name.name)
console.log()
return (
<div className={"card-back"}>
<h4>{details.name!==props.frontName? 'hi':
details.name.name}</h4>
</div>
)
}
export default Backcard;