Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 处于redux状态的Push数组元素返回'undefined'`_Reactjs_Redux_React Redux - Fatal编程技术网

Reactjs 处于redux状态的Push数组元素返回'undefined'`

Reactjs 处于redux状态的Push数组元素返回'undefined'`,reactjs,redux,react-redux,Reactjs,Redux,React Redux,我想用redux来解决这个问题。它在redux不起作用。我的代码哪里出了问题 action/index.js: 减速器/mainReducer.js reducers/index.js: 我就是这样使用它们的: import React,{useffect}来自“React”; 从“./functions/getCities”导入getCities; 从“/RadioList”导入放射科医生; 从“react redux”导入{connect} 从“../redux/actions”导入{set

我想用redux来解决这个问题。它在redux不起作用。我的代码哪里出了问题

action/index.js: 减速器/mainReducer.js reducers/index.js: 我就是这样使用它们的:
import React,{useffect}来自“React”;
从“./functions/getCities”导入getCities;
从“/RadioList”导入放射科医生;
从“react redux”导入{connect}
从“../redux/actions”导入{setCities}
功能状态列表(道具){
让标签=[],
城市=[];
useffect(()=>{
getCities(props.cityState)。然后((数组)=>{
for(设i=0;i
)
}
);
}
const mapStatesToProps=状态=>{
返回{
城市:state.setCitiesReducer.city,
}
}
导出默认连接(MapStateStorops,{setCities})(ListOfStates);
错误是: TypeError:无法读取未定义的属性“map”

请尝试以下操作:

function ListOfStates(props) {
    let labels = [],
        cities = [];
    useEffect(() => {
       getCities(props.cityState).then((array) => {
           for (let i = 0; i < array.response.length; i++)
               cities.push(array.response[i]);
           props.setCities([...cities]);
       });
    }, []);
    return (<>
        {
            props.city.map((labels, index) =>
                <RadioList active={(labels === props.active)} key={index} label={labels}/>)
        }
    </>);
}

const mapStatesToProps = state => {
    return {
        city: state.setCitiesReducer.cities,
    }
}
export default connect(mapStatesToProps, {setCities})(ListOfStates);

功能列表状态(道具){
让标签=[],
城市=[];
useffect(()=>{
getCities(props.cityState)。然后((数组)=>{
for(设i=0;i
)
}
);
}
const mapStatesToProps=状态=>{
返回{
城市:state.setCitiesReducer.cities,
}
}
导出默认连接(MapStateStorops,{setCities})(ListOfStates);
的答案帮助我改进最正确的答案

功能列表状态(道具){
让标签=[],
城市=[];
useffect(()=>{
getCities(props.cityState)。然后((数组)=>{
for(设i=0;i):(
道具.城市['0'].地图((标签,索引)=>
)
)}
);
}
const mapStatesToProps=状态=>{
返回{
城市:state.setCitiesReducer.cities,
}
}
导出默认连接(MapStateStorops,{setCities})(ListOfStates);
import {
    GET_CITIES_BY_SPECIAL_STATE
} from '../actions/types';

const initialState = {
    cities: []
}
const mainReducers = (state = initialState, action) => {
    switch (action.type) {
        case GET_CITIES_BY_SPECIAL_STATE:
            return {...state, cities: state.cities.concat(action.payload)}
        default:
            return state;
    }
}
export default mainReducers; 
import { combineReducers } from 'redux';
import mainReducers from "../reducers/main";
const reducers = combineReducers({
    setCitiesReducer: mainReducers
});
export default reducers;
import React, {useEffect} from "react";
import getCities from "../functions/getCities";
import RadioList from "./RadioList";
import {connect} from 'react-redux'
import {setCities} from '../redux/actions'

function ListOfStates(props) {
    let labels = [],
        cities = [];
    useEffect(() => {
       getCities(props.cityState).then((array) => {
           for (let i = 0; i < array.response.length; i++)
               cities.push(array.response[i]);
           props.setCities([...cities]);
       });
    }, []);
    return (<>
        {
            props.city.map((labels, index) =>
                <RadioList active={(labels === props.active)} key={index} label={labels}/>)
        }
    </>);
}

const mapStatesToProps = state => {
    return {
        city: state.setCitiesReducer.city,
    }
}
export default connect(mapStatesToProps, {setCities})(ListOfStates);
function ListOfStates(props) {
    let labels = [],
        cities = [];
    useEffect(() => {
       getCities(props.cityState).then((array) => {
           for (let i = 0; i < array.response.length; i++)
               cities.push(array.response[i]);
           props.setCities([...cities]);
       });
    }, []);
    return (<>
        {
            props.city.map((labels, index) =>
                <RadioList active={(labels === props.active)} key={index} label={labels}/>)
        }
    </>);
}

const mapStatesToProps = state => {
    return {
        city: state.setCitiesReducer.cities,
    }
}
export default connect(mapStatesToProps, {setCities})(ListOfStates);

function ListOfStates(props) {
    let labels = [],
        cities = [];
    useEffect(() => {
       getCities(props.cityState).then((array) => {
           for (let i = 0; i < array.response.length; i++)
               cities.push(array.response[i]);
           props.setCities([...cities]);
       });
    }, []);
    return (<>
    {(props.city['0'] === undefined) ? (<p>Loading...</p>) : (
        props.city['0'].map((labels, index) =>
            <RadioList active={(labels === props.active)} key={index} label={labels}/>)
    )}
</>);
}

const mapStatesToProps = state => {
    return {
        city: state.setCitiesReducer.cities,
    }
}
export default connect(mapStatesToProps, {setCities})(ListOfStates);