Sto avendo un problema di scoping. Posso console.log this.props.routeParams.key dall'interno del costruttore. Ma quando si trova all'esterno del costruttore, all'interno della funzione filterList, viene visualizzato l'errore "Unchaught TypeError: Impossibile leggere la proprietà 'props' di undefined". Qual è il mio problema di scoping? Perché può leggere questo dal costruttore ma non dalla funzione filterList?Scoping in React + React Router
Sto usando React Router + Flux + React.
import AltContainer from 'alt-container';
import React from 'react';
import { Link } from 'react-router';
import Blogger from './Blogger'
import List from './List'
const rootURL = 'https://incandescent-fire-6143.firebaseio.com/';
import BlogStore from '../stores/BlogStore'
import BlogActions from '../actions/BlogActions';
export default class BlogShow extends React.Component {
constructor(props) {
super(props);
{console.log(this.props.routeParams.key)}
}
filterList(key) {
if (this.props.routeParams.key===key){
return Blogstore.state.blog
}
}
render() {
{Object.keys(BlogStore.state.blog).map(this.filterList)}
}
}
Grazie. Questo è esattamente corretto. Puoi per favore spiegare la logica dietro questo? – CodeYogi
come ho detto, se non si associa la funzione al componente, "questo" sarà indefinito perché non esiste l'autobinding nelle classi ES6. Se la risposta ti ha aiutato, dovresti accettarlo. – QoP
Come posso accettarlo? Ho fatto clic sul segno di spunta verde. È ciò che intendi? – CodeYogi