Я использую параметры в своих маршрутах с Reaction-router-dom и проверяю регулярные выражения, чтобы убедиться, что параметры соответствуют ожидаемому типу. Например:
<Route path="/app/object/:objectId(\\d+)/" component={...} />
Это гарантирует, что objectId
всегда является числом в URL.
Однако, когда я пытаюсь использовать это в избыточности через mapStateToProps
, objectId
имеет тип String
и должен быть явно приведен к Number, чтобы мой фильтр работал.
Псевдокод:
const mapStateToProps (state, ownProps) => {
return {
obj: state.get('objects').find(object => object.get('id') === Number(ownProps.match.params.objectId)
}
}
Если я не использую приведение чисел, я получаю нулевой результат. Но не должны ли параметры быть int
, так как я указал это в регулярном выражении пути? Есть ли способ заставить параметры в правильный тип?