Как разобрать и распечатать массив в React-Native? - PullRequest
1 голос
/ 23 марта 2019

Я пытаюсь разобрать и вывести массив на консоль в реагирующем.У меня проблема с индексом и объявлением, возможно, я не смог получить доступ и распечатать мой массив.

Я получил свой массив в main.js, но я не смог получить доступ к m_uid, m_latitude, m_longitude

Iбудет использовать эти переменные в MapView.Marker

Массив

Код в main.js

<MapView.Marker
  coordinate={{
    latitude : "I want to use m_latitude here",
    longitude: "I want to use m_longitude here",
  }}
 /> 

Action.js

 export function AddMark (item){
    return(dispatch)=>{
    dispatch(markSuccess(item));
 }
}

const markSuccess = (markSuccess)=>({
    type: types.MARK_SUCCESS,
    markSuccess,
})

Reducer.js

const initialState = {
   location: {},
    markSuccess:[],
   error : null,
};

const mapsReducer = (state = initialState, action) => {
  switch (action.type) {
    case types.MARK_SUCCESS:
      return {
      ...state,
      markSuccess: action.markSuccess
    };
    default:
      return state;
    }  
  };

export default mapsReducer;

Вывод массива:

Object {
  "markLocation": Array [
    Object {
    "m_latitude": 52.1769247,
    "m_longitude": 21.0167011,
    "m_uid": "AWxA11i3TQfu3FBguknRsA1y9It2",
    },
    Object {
      "m_latitude": 52.1769243,
      "m_longitude": 21.0167014,
      "m_uid": "I37DYEJt9vbdDw78iPW0hC4DcuZ2",
    },
  ],
}

Main.js

render() {
  const { markLocation } = this.props;
  console.log("arr",{markLocation});
}

const mapStateToProps = ({ mapsReducer:{location,error,markSuccess}}) => ({
  markLocation:markSuccess
});

const mapDispatchToProps = { };

export default connect(mapStateToProps, mapDispatchToProps)(Map);

Я использую реактивно-нативную экспо с редуксом.

1 Ответ

0 голосов
/ 23 марта 2019

Я не уверен, что вы делаете неправильно, потому что я не могу видеть, что имеет реквизит, и не могу видеть, где вы создаете массив.Но для создания массива в реагирующем режиме выполните следующие действия:

constructor(props) {
    super(props)
    this.state = {
        array:[],
    }
}

Для управления массивом я бы предложил приписать значение состояния временной «нормальной» переменной, для этого есть много способов.Это для меня самое простое и легкое.

let array=this.state.array;
array.push('one more value');
this.setState({array})
...