【问题标题】:state is undefined in useSelector in react native reduxreact native redux中的useSelector中的状态未定义
【发布时间】:2021-12-09 01:17:41
【问题描述】:

我已经尝试学习 redux 好几天了,但我学不会。在 react native redux 中,useSelector 中的状态未定义,但是当我使用 UseSelector 时,状态未定义时总是会发生这种情况,请帮忙。 这是我最简单的代码。

import React from 'react';
import {Provider} from 'react-redux';
import Home from './screens/home';

const App = () => {
  return (
    <Provider store={Store}>
      <Home />
    </Provider>
  );
};

//store
import {createStore} from 'redux';
export const Store = createStore(reducer);

//reducer
const initialState = {
  name: 'John',
};
function reducer(state = initialState, action) {
  return state;
}

//action
export const setName = () => {
  return {
    type: SET_USER_NAME,
  };
};

export default App;
import {StyleSheet, Text, View} from 'react-native';
import {useSelector} from 'react-redux';

const Home = () => {
  const state = useSelector(state => state);
  alert(state);
  return (
    <View style={styles.container}>
      <Text>Hello</Text>
    </View>
  );
};

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
  },
});

export default Home;

【问题讨论】:

  • 来自文档Redux's createStore. You should not need to use this directly.createStore。你应该使用configureStore
  • 我该怎么做?
  • 我已经在我的机器上检查了这段代码,它工作得很好,我可以使用 useSelector 从 redux 读取值。一个小建议是使用console.log 而不是警报。请将您的完整代码发布在 slackbits 或类似内容中,以便我查看
  • console.log 也不起作用。我写这段代码只是为了学习redux的基础知识所以这就是所有的代码。

标签: javascript reactjs react-native redux react-hooks


【解决方案1】:

您在 store 初始化之前就在使用它。移动

const App = () => {
  return (
    <Provider store={Store}>
      <Home />
    </Provider>
  );
};

export default App;之前的底部然后它可以工作

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-25
    • 1970-01-01
    • 2018-05-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多