如何在React-Native中解析和打印数组?

时间:2019-03-23 17:10:10

标签: javascript arrays react-native

我正在尝试在react-native中解析并打印数组到控制台。 我的索引和声明可能有问题,我无法访问和打印我的数组。

我在main.js中获得了数组,但是我无法访问m_uid,m_latitude,m_longitude

我将在MapView.Marker中使用此变量

Array

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);

我在redux中使用react-native expo。

1 个答案:

答案 0 :(得分:0)

我不确定您在做什么错,因为我看不到道具有什么,也看不到您在哪里创建数组。但是要在react-native中创建一个数组,请执行以下操作:

nc

要管理数组,我建议将state的值赋给一个临时的“ normal”变量,有很多方法可以做到这一点,这对我来说是最简单易行的。

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