React-Redux使用钩钩将传递道具直接传递给选择器



我刚刚开始使用react-redux中提供的新useSelector钩。

我总是将道具直接传递给我的选择器:

mapStateToProps(state, ownProps) {
   return {
      user: userSelector(state, ownProps.userId)
   }
}

直接将道具传递到被视为抗模式的选择器中?

如果"否",那么如何使用useSelector

实现此目标

如果"是",那么要实现选择器的参数化的正确模式是什么?

这是在选择器中使用props的好习惯。

选择器函数未接收OwnProps参数。但是,可以通过闭合(请参见下面的示例(或使用咖喱选择器来使用道具。

useSelector使用state参数接受功能。如果您将箭头函数传递给useSelector,则可以访问包括props的任何变量。

此示例来自官方文档

import React from 'react'
import { useSelector } from 'react-redux'
export const TodoListItem = props => {
  const todo = useSelector(state => state.todos[props.id])
  return <div>{todo.text}</div>
}

还查看官方文档中有关如何避免使用本地props使用某些错误的陈旧道具页面。

相关内容

  • 没有找到相关文章