小编Nip*_*pek的帖子

React 导航焦点事件监听器返回旧状态

旧值在焦点事件侦听器内返回

如何在事件侦听器中获取当前状态/值,因为它当前返回旧值

  const [organizationName, setOrganizationName] = React.useState('');

      React.useEffect(() => {
        const unsubscribeNavigationFocus = props.navigation.addListener(
          'focus',
          async () => {
        try {     
          console.log(organizationName, 'OLD VALUE');
        
    
          // }
        } catch (error) {
          console.log('inside error');
          console.log(error);
    
        } finally {
    
        }
      }
        );
    
        return unsubscribeNavigationFocus;
      }, [props.navigation]);
Run Code Online (Sandbox Code Playgroud)

@react-navigation/native:“5.8.10”,react”:“16.13.1”,react-native:“0.63.4”,

reactjs react-native react-navigation react-hooks react-navigation-v5

2
推荐指数
1
解决办法
3128
查看次数

React.js - 将道具从 hoc 传递给孩子

我一直在尝试将我的 HOC 中的一些道具传递给孩子们。HOC 包装反应路由器开关和路由。子组件中缺少道具。我使用 React.CloneElement 将道具添加到孩子,但似乎不起作用

<BrowserRouter>
<Layout>
        <React.Suspense fallback={loading()}>
          <Switch>
            <Route exact path="/" component={Login} />
            <Route path="/dashboard" component={Home} />
            <Route path="/tickets" component={Tickets} />

          </Switch>
        </React.Suspense>
      </Layout>
    </BrowserRouter>
Run Code Online (Sandbox Code Playgroud)

这是 HOC(布局)

class Layout extends React.Component {
   .....

    render() {
        const children = this.props.children && React.cloneElement(this.props.children, { data: 'ok' })
...
Run Code Online (Sandbox Code Playgroud)

子组件没有得到数据道具,我只得到这个

{history: {…}, location: {…}, match: {…}, staticContext: undefined}
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-router react-router-dom

1
推荐指数
1
解决办法
3616
查看次数