hal*_*y9k 6 javascript reactjs redux react-redux react-hooks
我刚开始打新useSelector中的钩react-redux。
我总是像这样直接将 props 传递给我的选择器:
mapStateToProps(state, ownProps) {
return {
user: userSelector(state, ownProps.userId)
}
}
Run Code Online (Sandbox Code Playgroud)
将道具直接传递给选择器是否被视为反模式?
如果“否”,那么我怎样才能做到这一点useSelector?
如果“是”,那么实现选择器参数化的正确模式是什么?
这是props在选择器中使用的好习惯。
选择器函数不接收 ownProps 参数。但是,可以通过闭包(参见下面的示例)或使用柯里化选择器来使用 props。
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>
}
Run Code Online (Sandbox Code Playgroud)
另请查看官方文档中的过时道具页面,了解如何避免本地props使用中的一些错误。
| 归档时间: |
|
| 查看次数: |
10903 次 |
| 最近记录: |