react-redux 相关问题

Redux的官方React绑定

可以在组件外部使用 useSelector() 从 Store 检索数据吗?

我可以使用 useSelector() 但在 ReactJS 的功能组件之外从 Redux 存储中获取数据吗? 我尝试使用 useSelector() 作为普通函数,但它返回一个错误,因为 useSel...

回答 1 投票 0

访问在我的处理函数中存储 useSelector 的变量

我试图通过将学生变量的值放入一个状态然后在我的处理函数中访问该状态来访问学生变量,但它总是返回一个空数组。 const 学生 = useSelector((stat...

回答 2 投票 0

嗨,我们可以使用 useSelector() 从存储中获取数据,但不使用功能组件反应吗?

我可以使用useSelector()但在功能组件react js之外从store redux获取数据吗? 我尝试使用 useSelector() 作为普通函数,但返回错误,因为 useSelector() 正在运行

回答 1 投票 0

React-redux useSelector 状态在 onSubmit 函数中不起作用,但在其他函数中起作用

请有人向我解释一下为什么我的代码的第二个实现正在读取消息的状态代码,而我的第一个实现无法读取消息的状态代码? 首次实施

回答 2 投票 0

有没有办法修复显示未定义的 useSelector 挂钩?

我正在学习使用 redux-toolkit 构建添加到购物车功能。我在线克隆了这个项目,这样我就可以一步一步地进行操作。当我想使用选择器来选择我的工作人员时,我遇到了麻烦...

回答 1 投票 0

React Redux 工具包页面刷新失败

当我通过链接导航到配置文件页面时,该组件成功调度操作来设置用户的配置文件和存储库,并使用 useselector 成功检索它们。 然而,...

回答 1 投票 0

如果状态编译太慢,如何从 useSelector (React-Redux) 设置默认值?

我正在使用 React-Redux 制作一个教育程序,我正在尝试制作一个包含按顺序出现和删除的项目的表单。因此,用户输入反应的初始观察结果,单击子...

回答 1 投票 0

useRef 与 useSelector 一起使用时会出现什么问题?

虽然我可以使用 thunk 和/或全局存储来访问存储,但我不想将我的组件绑定到 Redux 存储。因为该组件将与内部和外部的其他商店一起使用

回答 1 投票 0

Redux 选择器使用不正确的状态切片

我目前正在 codecademy.com 上做一个抽认卡项目,其中涉及使用 React 和 Redux 制作一个抽认卡应用程序,您可以在其中创建一个主题,然后可以为每个主题进行测验...

回答 1 投票 0

redux 工具包 useSelector() 循环内

所以我有 2 个运行良好的 redux 状态和选择器。但我想在map()循环内调用第二个选择器(根据category.id获取详细列表)。我怎样才能做到这一点? const Dashboa...

回答 2 投票 0

Redux useSelector 在被发布 pub/sub 调用时不起作用

我的 eventBus 和 useSelector 中的数据有问题 下面是我的样本 const toto = useSelector(state => state.toto); 常量测试 = () => { 控制台.log(toto); // 始终为空 } 使用Eff...

回答 1 投票 0

我们可以直接使用useSelector吗

通常被视为使用useSelector如下 const count = useSelector(getCount); 添加计数(计数) 如果我们使用如下所示的 useSelector 是否有任何问题? 添加计数(使用选择器(

回答 1 投票 0

useSelector 首先返回undefined,然后返回user

//授权提供者 从“反应”导入反应; 从“反应”导入{useState}; 从“react-redux”导入{useSelector}; 从“重新...

回答 1 投票 0

useSelector 在 React Redux 应用程序中不起作用

我正在使用react和redux创建一个计数器应用程序。 在 counterSlice.js 文件中,我包含了这一行: 导出 const selectCount = (state) => state.count; 在 Counter.js 文件中,我有

回答 1 投票 0

React Native useSelector 未更新容器中的状态

我正在开发一个 React Native 应用程序,并且在基于 Redux 状态的条件渲染方面遇到一些问题,我使用 useSelector 获取这些状态。 我尝试过使用和不使用 useEffect ...

回答 1 投票 0

如何处理 redux 中空的初始状态(稍后将填充)

我在使用 redux 和 ts 时遇到一些问题 我的初始状态是 {},后来填充了键和值 所以当我尝试在我的组件中使用该状态时,它说该属性不

回答 1 投票 0

Primeicons 无法在没有互联网的服务器上工作

我正在尝试在我的React应用程序中使用primicons,并且图标在本地环境中成功加载,但是在没有互联网的服务器上部署时,图标无法加载...

回答 2 投票 0

刷新整个应用程序中的任何页面时,我总是被重定向到主页

main.jsx ReactDOM.createRoot(document.getElementById('root')).render( ...

回答 1 投票 0

如何从React js中导出的组件传递输入字段值

我无法从自定义组件获取输入字段中的值。 这是我的 dateFormat.jsx 从“反应”导入反应 const DateFormat = ({秒,纳秒, 格式}) => { 常量...

回答 1 投票 0

输入模式='[a-zA-Z]'在React应用程序中不起作用

我一直在研究的是一种文本输入,当用户键入时,它会缩小 的范围。它正在工作,但我现在关心的是安全性,用户传递到输入中的内容,... 我一直在研究的是一个文本input,当用户输入时,它会缩小<option>中的<select>。它正在工作,但我现在担心的是安全性、用户传递到 input 的内容以及潜在的恶意条目。 我想我可以做类似<input placeholder='[a-zA-Z]' />的事情,但它仍然允许在文本框中输入其他字符。 我在这里做错了什么,有什么替代方案只允许输入字母数字? onInputChange(term) { this.setState({ term }); } renderOptionsSelect(term) { return _.map(this.props.pos_list, p => { var searchTerm = this.state.term.toLowerCase(); if (p.pos_code.toLowerCase().match(searchTerm)) { return ( <option key={p.pos_code} value={p.pos_code}>{p.pos_code}</option> ); } }); } // render the main element of the container render() { return ( <div className='panel panel-default'> <div className='panel-heading'> <h4><strong>Basic Query</strong></h4> </div> <div className='panel-body'> <input pattern='[a-zA-Z]' className='form-control' placeholder='Enter Keyword or Position Code' value={this.state.term} onChange={event => this.onInputChange(event.target.value)} /> <hr /> <h4>Position:</h4> <select className='form-control'> <option></option> {this.renderOptionsSelect()} </select> <br /> <h4>Data Cut:</h4> <select className='form-control' disabled={true} /> </div> </div> ); } 这很容易。你: 删除图案属性。 为 onInputChange 事件注册您的 input 方法,而不是 change 事件 (onInput={event => this.onInputChange(event.target.value)})。 在改变状态之前清理onInputChange中接收到的值。 在这里查看我的详细答案: https://stackoverflow.com/a/68052651/13607767 简单介绍一下 - 状态 const [tagInputVal, setTagInputVal] = useState(""); 输入标签 <input id="tag-input" type="text" placeholder="Add a tag" value={tagInputVal} onChange={(e) => onChangeTagInput(e)}></input> 处理函数 function onChangeTagInput(e) { setTagInputVal(e.target.value.replace(/[^a-zA-Z\d]/ig, "")); } 对于 React Typescript 用户。 我发现这个片段非常有帮助...... const regex = new RegExp("^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%\^&\*])(?=.{8,})"); 此正则表达式强制至少使用:一个数字,一个大写字母 字母、1个小写字母、1个特殊字符和8个字符 密码很长。 然后就可以这样使用了… const [strongPassword, setStrongPassword] = useState(false); function handleChangeValue(event: ChangeEvent<HTMLInputElement>) { if (regex.test(event.target.value)) { setStrongPassword(true); } else { setStrongPassword(false); } 或者完成这项工作的最简单方法是, 将 handleSubmit 功能作为 onSubmit={handleSubmit}< form > 放在 标签中,而不是单独放在按钮上。 这也将使其他输入属性(例如模式、类型、必需)成为必需。 输入“pattern”属性仅适用于表单元素内的输入。你可以试试这个例子作为参考。 const [inputValue, setInputValue] = useState(''); <form onSubmit={(e) => e.preventDefault()}> <input type="text" value={inputValue} onChange={(e) => setInputValue(e.target.value)} pattern="[A-Za-z]{3,}" title="Only letters allowed, minimum 3 characters" required /> <button type="submit">Submit</button> </form> 因此,您当前具有在用户键入时缩小 <select> 选项的功能,现在您关心的是通过限制用户能够作为输入提交的内容来提高安全性。 这个问题的答案是 不可能通过客户端验证来保护输入;它必须通过服务器端验证来完成。 客户端安全检查很容易被绕过。服务器收到输入后必须对其进行检查,以确保其不是恶意的。

回答 0 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.