React Redux - 寻找 connect() 的用例

用户

注意:我使用的是 React Native,但这也适用于 Reactjs。我只在设计上使用无状态功能组件。我想尽可能多地学习和使用函数式编程。这是否意味着我永远不能使用connect()from react-redux我应该在我的应用程序设计中添加更多容器组件吗?

这是我的组件的示例:

export const Height = (props, { store }) => {
  const state = store.getState()
  return (
    <View style={formStyles.container}>
      <DimenInput 
        value={state.get('height').get('height1').toString()}
        onChangeText={text => store.dispatch(updateHeight(text, 1))}
      />
      <Text style={formStyles.text}>{'&'}</Text>
      <DimenInput 
        value={state.get('height').get('height2').toString()}
        onChangeText={text => store.dispatch(updateHeight(text, 2))}
      />
    </View>
  )
}
Height.contextTypes = {
  store: React.PropTypes.object
}

我还想学习我将在行业中看到的所有常见的 redux 和 react 技术,所以我想学习mapStateToProps()connect(). 我开始尝试为上面的组件创建这些函数:

const mapStateToProps = (state) => {
  return state.get('height').get('height1').toString()
}

const mapDispatchToProps = (dispatch) => {
  return {
    onHeightChanged: (text) => {dispatch(updateHeight(text, 1))}
  } 
}

在意识到我不能在这个无状态组件上使用这些功能之前。我必须在一个容器组件上使用它们,该组件基本上可以容纳这个组件,但我真的没有,这个组件的容器是:

export const Volcalc = () => {
  return (
    <View style={styles.container}>
      <Text style={styles.text}>HEIGHT</Text>
      <Height/>
      <Text style={styles.text}>WIDTH</Text>
      <Width/>
    </View>
  )
}

然后那个容器就是:

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

我正在制作的应用程序是一个单一的形式 - 所以它很小。在这个阶段,我看不到任何必须使用容器组件的情况。在更大的应用程序中,我是否会被迫使用容器组件,然后才有机会使用connect()connect()如果可以通过任何一种方式完成,哪种技术比仅使用无状态和使用创建的容器更好

编辑:这个简单的课程在他们拥有可从商店AddTodo使用的无状态组件dispatch并对其进行调用的位置之间connect()进行了一些操作。可能是适合我的用例的场景,Height尽管我需要继续将它传递给完整的商店,因为它使用store.get并且store.dispatch- 除非我将高度的商店值传递给它而不是完整的商店。

伊恩

通过在容器组件上使用 connect,您可以保持应用程序正常运行。您的数据流向儿童。你的状态是不可变的。

容器组件在连接方面很有用,因为您隔离了对存储的调用,并再次让数据向下流到子组件。这只是构建应用程序并减少应用程序中调用商店的点数的好方法。它使开发更易于管理,并减少了造成混乱的机会。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

React onComponentDidMount event with react-redux connect

来自分类Dev

OpenID Connect用例

来自分类Dev

@connect装饰器在react-redux中有什么用

来自分类Dev

解耦React组件和Redux Connect

来自分类Dev

学习 react/redux 并遇到 connect() 问题

来自分类Dev

Redux React-Native(在react-redux中使用useSelector与使用connect有什么区别?)

来自分类Dev

React Redux Connect API不注入调度属性

来自分类Dev

使用react-redux connect响应onComponentDidMount事件

来自分类Dev

React&Redux:connect()到多个组件和最佳实践

来自分类Dev

了解react-redux中connect()函数的语法

来自分类Dev

定期在React-Redux Connect上停止调试

来自分类Dev

Connect.js (React-redux) 中的错误

来自分类Dev

react-redux connect() 和错误 TS2345

来自分类Dev

mapDispatchToProps 与 react-redux' connect() 和类组件

来自分类Dev

Reactjs 使用 react-redux connect 创建的项目列表

来自分类Dev

用BFS寻找方法

来自分类Dev

用ffmpeg寻找FLAC

来自分类Dev

如何在react-redux-connect的@connect装饰器中访问动态数据?

来自分类Dev

react-redux connect()的mapStateToProps在react-router导航上被多次调用

来自分类Dev

为什么要在React组件的props中传递回调,而不是使用react-redux的connect?

来自分类Dev

React和Redux:用HTML标签包装React Map函数

来自分类Dev

这是否适用于此用例的OpenID Connect?

来自分类Dev

react-redux的@connect产生错误'connect.js:129Uncaught TypeError:无法读取未定义的属性'store'

来自分类Dev

叶状组件中的connect()是React + redux中反模式的标志吗?

来自分类Dev

react-redux connect()-ed容器可以实现诸如componentDidMount之类的生命周期方法吗?

来自分类Dev

即使状态无变化但React-Redux connect()也不更新组件

来自分类Dev

如何访问包装在React-Redux的connect函数中的功能子组件中的ref?

来自分类Dev

React-Redux Connect没有从提供商那里获得存储

来自分类Dev

将带有书架/通用道具的组件传递给TypeScript中的react-redux connect函数

Related 相关文章

  1. 1

    React onComponentDidMount event with react-redux connect

  2. 2

    OpenID Connect用例

  3. 3

    @connect装饰器在react-redux中有什么用

  4. 4

    解耦React组件和Redux Connect

  5. 5

    学习 react/redux 并遇到 connect() 问题

  6. 6

    Redux React-Native(在react-redux中使用useSelector与使用connect有什么区别?)

  7. 7

    React Redux Connect API不注入调度属性

  8. 8

    使用react-redux connect响应onComponentDidMount事件

  9. 9

    React&Redux:connect()到多个组件和最佳实践

  10. 10

    了解react-redux中connect()函数的语法

  11. 11

    定期在React-Redux Connect上停止调试

  12. 12

    Connect.js (React-redux) 中的错误

  13. 13

    react-redux connect() 和错误 TS2345

  14. 14

    mapDispatchToProps 与 react-redux' connect() 和类组件

  15. 15

    Reactjs 使用 react-redux connect 创建的项目列表

  16. 16

    用BFS寻找方法

  17. 17

    用ffmpeg寻找FLAC

  18. 18

    如何在react-redux-connect的@connect装饰器中访问动态数据?

  19. 19

    react-redux connect()的mapStateToProps在react-router导航上被多次调用

  20. 20

    为什么要在React组件的props中传递回调,而不是使用react-redux的connect?

  21. 21

    React和Redux:用HTML标签包装React Map函数

  22. 22

    这是否适用于此用例的OpenID Connect?

  23. 23

    react-redux的@connect产生错误'connect.js:129Uncaught TypeError:无法读取未定义的属性'store'

  24. 24

    叶状组件中的connect()是React + redux中反模式的标志吗?

  25. 25

    react-redux connect()-ed容器可以实现诸如componentDidMount之类的生命周期方法吗?

  26. 26

    即使状态无变化但React-Redux connect()也不更新组件

  27. 27

    如何访问包装在React-Redux的connect函数中的功能子组件中的ref?

  28. 28

    React-Redux Connect没有从提供商那里获得存储

  29. 29

    将带有书架/通用道具的组件传递给TypeScript中的react-redux connect函数

热门标签

归档