Quiero usar {prop.idno} de padre a hijo en componentDidMount() fetch call URL . ¿Cómo hago uso de idno en la URL para llamar a diferentes páginas de publicaciones?
¿Hay alguna manera de escribirlo así?
const response = await fetch( `https://jsonplaceholder.typicode.com/posts?userId= ${this.prop.idno}` );Componente principal:
return ( <> <TogglePosts idno = {user.id}/> </> )Componente hijo:
export class TogglePosts extends Component { constructor(props){ super(props); this.state = { on: false, data: [], loaded: false, }; } toggle = () => { this.setState({ on: !this.state.on, }); }; async componentDidMount() { console.log("comp did mount"); try { const response = await fetch( `https://jsonplaceholder.typicode.com/posts?userId=1` ); const data = await response.json(); console.log(data); this.setState({ data: data, loaded: true }); } catch (err) { console.log(err); } }Puedes intentar editar tu respuesta de forma similar a esta.
const response = await fetch( `https://jsonplaceholder.typicode.com/posts?userId= ${this.props.idno}` ); Tenga en cuenta que he usado `(tilde) en lugar de "(comillas dobles) También use props en lugar de prop
¿Puede intentar acceder a él usando props.idno en el componente TogglePosts? En la instrucción fetch, puede hacer algo como fetch(`https://jsonplaceholder.typicode.com/posts?userId=${props.idno}`);
Prueba esto:
const response = await fetch( `https://jsonplaceholder.typicode.com/posts?userId= ${this.props.idno}` );Plantilla literal(``) es la capacidad de incluir expresiones y variables dentro de una cadena.