Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.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
Javascript 错误:操作可能没有未定义的;“类型”;财产。你把常数拼错了吗?_Javascript_Android_React Native_React Redux - Fatal编程技术网

Javascript 错误:操作可能没有未定义的;“类型”;财产。你把常数拼错了吗?

Javascript 错误:操作可能没有未定义的;“类型”;财产。你把常数拼错了吗?,javascript,android,react-native,react-redux,Javascript,Android,React Native,React Redux,我一辈子都不知道我做错了什么。我查看了其他人的帖子,这些帖子和我的相似,但我找不到有什么问题,有人能帮忙吗?我昨天才开始react和函数编程,所以很多东西对我来说都是新的。据我所知,我的行为一定有问题,或者我如何定义我的类型是正确的?这是我的密码 index.android.js function configureStore(initialState) { const enhancer = compose( applyMiddleware( th

我一辈子都不知道我做错了什么。我查看了其他人的帖子,这些帖子和我的相似,但我找不到有什么问题,有人能帮忙吗?我昨天才开始react和函数编程,所以很多东西对我来说都是新的。据我所知,我的行为一定有问题,或者我如何定义我的类型是正确的?这是我的密码

index.android.js

function configureStore(initialState) {
    const enhancer = compose(
        applyMiddleware(
            thunkMiddleWare,
            loggerMiddleWare,
        ),
    );
    return createStore(reducer, initialState, enhancer)
}
const store = configureStore({});

const App = () => (
    <Provider store={store}>
        <AppContainer/>
    </Provider>
)

AppRegistry.registerComponent('BHPApp', () => App);
还原剂

import { combineReducers } from 'redux'
import * as userReducer from './users'

export default combineReducers(Object.assign(
    userReducer,
));

import createReducer from '../lib/createReducer'
import * as types  from '../actions/types'

export const getUsers = createReducer({}, {
    [types.SET_ALL_USERS](state, action){
        let newState = {};
        action.hBaseUsers.forEach( (hBaseUser) => {
           newState[hBaseUser.personUniqueID] = hBaseUser;
        });
        return newState;
    }
});

export const userCount = createReducer({}, {
    [types.SET_ALL_USERS](state, action){
        action.hBaseUsers.length;
    }
});
容器

class AppContainer extends Component{
    render(){
        return <Home {...this.props} />
    }
}

function mapDispatchToProps(dispatch) {
    return bindActionCreators(ActionCreators, dispatch);
}

    export default connect((state) =>  { return {} }, mapDispatchToProps)(AppContainer);
import React, { Component } from 'react'
import { connect } from 'react-redux'
import {
    ScrollView,
    View,
    TextInput,
    Image,
    TouchableHighlight,
    StyleSheet,
    Text
} from 'react-native'

class Home extends Component{
    searchPressed(){
        this.props.fetchAllUsers();
    }

    hBaseUsers(){
        return Object.keys(this.props.getUsers).map( key =>  this.props.getUsers[key])
    }

    render(){
        console.log(this.hBaseUsers());
        return<View>
            <View>
                <TouchableHighlight onPress={() => this.searchPressed() } >
                    <Text>Fetch Users</Text>
                </TouchableHighlight>
            </View>
            <ScrollView>
                {this.hBaseUsers().map((hBaseUser) => {
                    return <View>
                        <Text>
                            hBaseUser.personUniqueID
                        </Text>
                    </View>
                })}
            </ScrollView>
        </View>
    }
}

function mapStateToProps(state) {
    return{
        getUsers: state.getUsers
    }
}

export default connect(mapStateToProps)(Home);
类AppContainer扩展组件{
render(){
返回
}
}
功能图DispatchToprops(调度){
返回bindActionCreators(ActionCreators,调度);
}
导出默认连接((状态)=>{return{}},mapDispatchToProps)(AppContainer);
从“React”导入React,{Component}
从“react redux”导入{connect}
进口{
滚动视图,
看法
文本输入,
形象,,
触控高光,
样式表,
正文
}从“反应本机”
类Home扩展组件{
searchPressed(){
this.props.fetchAllUsers();
}
hBaseUsers(){
返回Object.keys(this.props.getUsers.map)(key=>this.props.getUsers[key])
}
render(){
log(this.hBaseUsers());
返回
this.searchPressed()}>
获取用户
{this.hBaseUsers().map((hBaseUser)=>{
返回
hBaseUser.personUniqueID
})}
}
}
函数MapStateTops(状态){
返回{
getUsers:state.getUsers
}
}
导出默认连接(MapStateTops)(主);

在我读了所有的东西之后,我的问题可能是这些东西中的任何一个,但我似乎找不到它。据我所知,我正确地拼写和定义了一切。有人能帮我吗?

您的setAllUsers操作返回的对象具有错误的属性集:

function setAllUsers( {hBaseUsers} ) {

return {
    types: types.SET_ALL_USERS,
    hBaseUsers,
}
}


在return语句中,将“types”更改为“type”以修复此错误。

您的setAllUsers操作返回的对象具有错误的属性集:

function setAllUsers( {hBaseUsers} ) {

return {
    types: types.SET_ALL_USERS,
    hBaseUsers,
}
}


在return语句中,将“types”更改为“type”以修复此错误。

我遇到了相同的错误。在我的例子中,我错过了connect函数中的参数“mapDispatchToProps”,该函数用于将分派映射到props。

我也有同样的错误。在我的例子中,我错过了connect函数中的参数“mapDispatchToProps”,该参数用于将分派映射到道具。

是否替换everywhere
类型。使用“SET\u ALL\u USERS”设置所有用户
使其工作?如果是这样,则可能是错误地导入/导出字符串常量。您的
setAllUsers
返回一个包含拼写错误的操作对象。它应该是
type:types。设置所有用户
而不是
types
@azium-yep就是这样。真不敢相信我竟然让那样的打字错误困扰了我。唉…用“SET\u ALL\u USERS”替换everywhere
类型。SET\u ALL\u USERS
是否能让它正常工作?如果是这样,则可能是错误地导入/导出字符串常量。您的
setAllUsers
返回一个包含拼写错误的操作对象。它应该是
type:types。设置所有用户
而不是
types
@azium-yep就是这样。真不敢相信我竟然让那样的打字错误困扰了我。叹息。。。