Redux mapStateToProps在我的地图框地图中不起作用

问题描述 投票:0回答:1

我正在努力将用户数据从Redux状态中拉出,并放入我的mapbox组件。

我只想在地图上显示当前用户信息,但是我一直收到此错误:

.. src / app / views / map / BasicMap.jsx第293:22行:未定义“用户” no-undef

这里是我的BasicMap.jsx文件中的代码:

// Trying to get user info from redux store
import { connect } from "react-redux";


const BasicMap = () => {

  // Use redux store to get user info

  const mapState = (state) => ({
    user: state.USER_SET_DATA.user.displayName,
  });
  
  
  
  return (
    <ReactMapGL
      {...viewport}
      mapStyle="mapbox://styles/veleter/ck7xdy1yo1bkj1ipmsbhe9c96"
      mapboxApiAccessToken={process.env.REACT_APP_MAPBOX_TOKEN}
      onViewportChange={setViewport}
      onClick={addMarker}
    >
    
    
                <Popup
              key={userMarker.id + Math.random}
              latitude={userMarker.lat}
              longitude={userMarker.long}
              closeButton={true}
              closeOnClick={false}
              dynamicPosition={true}
              onClose={() =>
                setShowUserPopup({
                  ...showUserPopup,
                  [userMarker.id]: false,
                })
              }
              anchor="top"
            >
              <div className="popup">
                <h1>{user}</h1>
                <LogEntryForm location={userMarker} />
              </div>
            </Popup>

我已删除了一些您不需要查看的代码。我也尝试过:

  const mapState = (state) => ({
    user: state.user,
  });

From my application

有Redux工具,并且USER_SET_DATA正在传递用户信息。

如何从状态访问用户数据并在地图应用程序的H1中使用它? “声明了mapState但从未读取过”

感谢您的帮助!

javascript reactjs redux react-redux mapbox
1个回答
1
投票

应该是这样:

const BasicMap = ({ user }) => {
  ...
}

const mapState = (state) => ({
   user: state.user 
});

export default connect(mapState)(BasicMap)
© www.soinside.com 2019 - 2024. All rights reserved.