如何根据以下条件将变量从 loginform 传递给 app.js,并在使用 react js 时移动到下一个屏幕

Posted

技术标签:

【中文标题】如何根据以下条件将变量从 loginform 传递给 app.js,并在使用 react js 时移动到下一个屏幕【英文标题】:how to pass the variable from loginform to app.js on the below criteria and move to the next screen when it is true using react js 【发布时间】:2021-06-02 15:47:37 【问题描述】:

如何根据以下条件将变量“devscreens”从 loginform 传递给 app.js,并在 react js 中移动到下一个屏幕。

Loginform.js:

async doLogin()
        this.setState(invalid_user:false);
        this.setState(welcome_user:false);
        this.setState(devscreens:false);
        if (!this.state.username)
            return;
        
        
        this.setState(
            buttonDisabled: true
        )
        try
        const response = await axios.get(`$loginidURL`)

        if(response.status === 200)
           this.setState(welcome_user:true);
            console.log(response.data.username)
            console.log(response.data)
            console.log(response.data.userlevel)
            if (response.data.userlevel == 11 )
            
                this.setState(devscreens:true);
                
                console.log(this.state.devscreens)
                
            
            if (response.data.userlevel == 13 )
            
               this.setState(devscreens:false);
            
            userid=response.data.username
            this.resetForm();
        
    

App.js:

function App() 
  const classes = useStyles();
  
  return (
    <ThemeProvider theme=theme>
      <div className="app">
                  <div className='container'>  
                  <h1>Application </h1>
                  <h3>App</h3>
                    <LoginForm/>
                  </div>
                  </div>
         <div className=classes.appMain>
               <Header />
        <Welcome username=""/>
        <Board />
      </div> 

我对在逻辑屏幕及其下一个屏幕集成中的工作做出反应。 想要将 devscreen 值从 Loginform.js 传递给 App.js。如果 devscreen 为真,那么我需要在单独的屏幕中执行 app.js 中的以下内容。

           <Header />
        <Welcome username="Jo"/>
        <Board />
      </div> 

有人可以帮我解决这个问题吗?我尝试使用道具,但这对我不起作用..

【问题讨论】:

【参考方案1】:

React 中的一个常见流程是 App.js 组件包含所有其他组件和其中的逻辑。所以组件是所有其他组件的容器。

逻辑是然后根据父组件的状态决定要渲染哪些子组件。您可以使用 props 将对象传递给子组件,然后帮助决定要渲染的部分。

请查看此处的示例: https://reactjs.org/tutorial/tutorial.html

【讨论】:

以上是关于如何根据以下条件将变量从 loginform 传递给 app.js,并在使用 react js 时移动到下一个屏幕的主要内容,如果未能解决你的问题,请参考以下文章

如何将局部变量传递给熊猫中的用户定义函数?

如何将变量从控制器传递到视图 joomla mvc

在 Sencha Touch 2 中填充视图

将变量从 MainWindow 传递到新窗口

如何将变量传递给angularjs中的三元条件?

如何将变量作为标准输入从 PHP 传递到命令行