获取React Native组件中的Redux存储数据

ekqde3dh  于 2022-12-14  发布在  React
关注(0)|答案(3)|浏览(148)

我刚开始使用Redux和React Native,我在尝试获取组件中存储的数据时遇到了很多困难,它是任何特殊的东西,只是一个用于修改存储的按钮和一个用于打印它的按钮,因为我在这个中还是一个新生儿

// TestComponent.js

<Button onPress={ () => { this.props.todoAdd("cafee") } }>
    <Text>Covfefe</Text>
</Button>

<Button onPress={ () => { console.log(this.state) } }>
    <Text>Todo alc</Text>
</Button>

const mapStateToProps = (state, props) => {
  return {
    todos: state,
  };
};

const mapDispatchToProps = (dispatch) => {
  return {
    todoAdd: (name) => dispatch({type: 'TODO_ADD', todo: { id: '0', name, completed: false }}),
  };
};

export default connect(mapStateToProps, mapDispatchToProps)(TestComponent)

添加按钮工作,我注册了一个订阅在App.js,所以我可以看到每一个更新在商店,我很高兴至少有一件事做的工作,但我很困惑,我想获取存储的数据,但我不能使它工作!
我读到mapStateToProps实际上监听更改和触发器,用您编写的组件所需的数据更新组件的属性,我写了props.todos = state,所以整个状态应该在这个.props.todos中,不是吗?我不知道,但当我打印组件属性时,我得到了一个空对象。
我的存储中还有其他配置文件:
第一个
我只是想知道我如何获取数据打印它,我刚刚开始学习redux所以任何提示是非常欢迎的,无论如何感谢您阅读我。

t98cgbkg

t98cgbkg1#

好了,我发现我的代码有什么问题,当我尝试打印我的商店时,我正在做console.log(this.state),确信mapStateToProps修改了组件的实际状态,但它没有,它将状态传递给组件的属性(正如函数名所指示的...):c

wtzytmuj

wtzytmuj2#

为我工作
您操作名称

let {Filterdata} = useSelector(state => state.AuthReducer);
6jjcrrmo

6jjcrrmo3#

尝试console.log(this.props.todos)由于您将整个redux存储状态Map到todos对象,因此应该在this.props.todos处找到它

相关问题