ReactJS: this.props.data.map no es una función

Estoy intentando obtener los datos de un archivo .json y mostrar los resultados a través de una vista. A continuación se muestra el archivo scoreboard.json.

{ "subject":"scoreboard", "copyright":"Copyright 2015", "data": "games":{ "next_day_date":"2015-07-22", "modified_date":"2015-08-04T07:34:50Z", "month":"07", "year":"2015", "game":[ { "game_type":"R", "double_header_sw":"N", "location":"Some City, State", }, { "game_type":"R", "double_header_sw":"N", "location":"Another City, Another State" } ] } 

Solo quiero el campo “datos” y no los campos “sujeto” o “derechos de autor” y puedo hacerlo a través de la solicitud ajax a continuación.

  getInitialState: function() { return {data: []}; }, componentDidMount: function() { $.ajax({ url: this.props.url, dataType: 'json', cache: false, success: function(data) { console.log(data.data); this.setState({data: data.data}); }.bind(this), error: function(xhr, status, err) { console.error(this.props.url, status, err.toString()); }.bind(this) }); }, 

Paso el estado hasta el archivo de recepción pero, cuando bash llamarlo, recibo un TypeError: this.props.data.map is not a function

  render: function() { var gameDate = this.props.data.map(function(data) { return ( 

{data.modified_date}

); });

Quiero poder obtener toda la información que se encuentra en el campo “datos” del scoreboard.json con el tiempo (es decir, data.games.game [] array). La función .map tampoco parece funcionar para esto.

¿Cómo obtendría los campos de “datos” (más específicamente la fecha de modified_date ) en la función .map?

Edición: puedo registrar la fecha / modificación modificada llamando a data.games.modified_date pero, al intentar establecer el estado de los datos: this.state.data = data.games.game Recibo una nueva advertencia: Each child in an array or iterator should have a unique "key" prop. Check the render method of "GameDate" Each child in an array or iterator should have a unique "key" prop. Check the render method of "GameDate"

Como señaló azium, mis datos son un objeto y no una matriz como esperaban mis resultados.

Para obtener la matriz de “juegos” dentro del campo “juegos”, establezco el estado de la siguiente manera:

 this.setState({data: data.data.games.game}); 

Para obtener los otros campos simplemente creé un nuevo estado y lo pasé a través de un prop, es decir, modified_date:

 this.state.date = data.data.games.modified_date 

La advertencia: Each child in an array or iterator should have a unique "key" prop. se solucionó agregando una propiedad “clave” dentro del método .map:

 render: function() { var gameDate = this.props.data.map(function(data) { return ( 

{data.location}

); });