- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想要一个控制选择的钩子(Hook),但它的初始状态可以由 url 和 api 调用定义。
这是我想要实现的行为:
const match = useRouteMatch('/document/:id') //react-router
const result = useAsync(api.getDocuments, []) //react-use
const [selectIndex, setSelectIndex] = useState(match && !(result.loading || result.error) && result.value.documents.findIndex(({_id}) => _id === match.params.id))
最佳答案
使用 useEffect 和 useState 的组合来异步初始化一个值,您可以在 ui 上更改该值。
import { useEffect, useState } from 'react'
import { useRouteMatch } from 'react-router-dom'
const App = () => {
const [value, setValue] = useState()
const { params } = useRouteMatch('/document/:id')
useEffect(() => {
someAsyncStuff(params.id).then(data => setValue(data))
}, [params])
return (
<select
value={value}
onChange={({target: { value }}) => setValue(value)}>
<option value={1}>one</option>
<option value={2}>two</option>
</select>
)
}
关于reactjs - UseState initialState 基于异步值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58499862/
我不懂路make工作: let component = ReasonReact.reducerComponent("Greeting"); let make = (~name, _children)
在我的 ReactJS/Typescript 应用程序中,我的 store.ts 中出现以下错误: Parameter 'initialState' cannot be referenced in i
我一直在尝试将 redux 添加到我的 flutter 应用中 我想根据用户共享的偏好设置 MaterialUi 主题 void main() { final store = Store(
我想要一个控制选择的钩子(Hook),但它的初始状态可以由 url 和 api 调用定义。 这是我想要实现的行为: 组件通过异步调用api获取文档列表(result.value将在一段时间后设置) 可
我有这样的状态形状(在我的 postReducer 上设置为 initialState): { posts: { isFetching: false, hasFetched: fa
这是我要抓取的页面: (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'
我正在使用 flutter_bloc 包来管理我的应用程序中的状态。我有一个用例,我必须从远程数据库加载初始状态。这要求 initialState 方法是异步的,但它不是。 如果不是通过使用 init
我正在尝试在 initialState 中使用 axios 获取的一些数据,以便稍后将其与 useReducer 一起使用。但是一旦我将它作为第二个参数的 initialState 传递,它就会返回一
我正在尝试在 initialState 中使用 axios 获取的一些数据,以便稍后将其与 useReducer 一起使用。但是一旦我将它作为第二个参数的 initialState 传递,它就会返回一
我正在尝试根据传递给 useTable 的默认值来过滤 react 表。所以,我已经将一个包含 id 和值的 json 数组传递给 useTable,但它没有应用到表中。事实上,InitialStat
全部: 当我阅读 Redux 的源代码时,在它的 createStore 中: function createStore(reducer, initialState, enhancer) {
我确实将 initialState 设置到 reducer 中,如下所示,但是 当我加载页面时 Detail 按钮没有被禁用,当我点击 Disable 按钮时也没有启用。当我调用操作时,reducer
我有一个初始状态: export default { dashboards: [], dashboardContent: [] }; 我想在像这样的 Action 分派(dispatch)后通
我正在尝试了解 emeber.js 路由。我不太确定,为什么这不是路由器的有效定义 Platby.Router = Ember.Router.extend location: 'hash'
initialState 有错误:Argument of type '{ email: string;密码:字符串;有效: bool 值; }' 不可分配给 'never' 类型的参数。ts(2345
是否有可能在状态改变后检索初始状态?例如: React.createClass({ getInitialState: function() { return { foo: 'bar' }
我正在寻找为容器(这是与 redux 存储连接的智能组件)定义默认 Prop 的最佳实践,我发现至少有两种方法可以实现它。 在我的 reducer 中使用 initialState: const in
我正在使用来自 https://github.com/caspg/simple-data-table-map 的 repo实现到我现有的应用程序中。但是,在我现有的应用程序中,它包含各种具有自己特定
是否有一种众所周知的模式可以将动态初始状态的负载注入(inject) Redux-Toolkit 的 initialState 对象? 也就是说,我想这样做 - import initialState
如果我们想从远程服务器获取数据,然后将其作为初始状态传递给 reducer,我们该如何进行?我试图在 useEffect 中调用调度,但根据在 useEffect(...) 中调用钩子(Hook)的规
我是一名优秀的程序员,十分优秀!