【问题标题】:How do I pass the value of a variable through the components in react?如何通过反应组件传递变量的值?
【发布时间】:2020-06-06 23:45:38
【问题描述】:

那是我的 App.js

import React, { Component } from 'react'
import { BrowserRouter as Router, Route, Link} from "react-router-dom";

import Particles from './components/particles'
import Title from './components/start'
import Explain from "./components/explain"
import "./App.css"
import Test from "./components/test"
import Test1 from "./components/IntLin/test1"
import Test2 from "./components/IntLin/test2"
import Test3 from "./components/IntLin/test3"

export default class App extends Component{

render(){
  return (
    <div>
      <Router>
        <div className="start">
          <Particles/>
          <Route exact path="/inicio" render={() => {
          return <div className="titulo">
          <Title}/>
          </div>
          }}>
          </Route>
        </div>
          <Route exact path="/explain" render={() => {                    
            return <div className="explain">
              <Explain}/>
            </div>
            }}>
          </Route>
          <Route exact path="/test" render={() => {
            return <div className="test">
              <Test/>
            </div>
          }}>
          </Route>
           <Route exact path="/test1" render={() => {
              return <div className="test1">
                <Test1/>
              </div>
            }}>
            </Route>
            <Route exact path="/test2" render={() => {
              return <div className="test2">
                <Test2/>
              </div>
            }}>
            </Route>
            <Route exact path="/test3" render={() => {
              return <div className="test3">
                <Test3/>
              </div>
            }}>
            </Route>
        </Router>
      </div>
      );
  };

}

所以,基本上我想在 app.js 中设置一个数值变量,然后当我转到“Test”组件时,我可以找到该变量并添加 +1,然后下一个组件“Test1”可以减去 -1 和依次遍历所有组件,直到到达最终组件,您将获得最终变量的多少。

【问题讨论】:

  • 要将单个组件使用的数据从父组件传递给子组件(嵌套到几个级别),您可以使用道具(将父组件的状态作为道具传递给子组件)。如果数据消费组件嵌套得更深,你可以使用 React Context。如果多个分散的组件需要数据,你可以使用状态管理工具,比如 Redux。

标签: javascript arrays reactjs components var


【解决方案1】:

你可以同时使用传递道具或Context,但你真正想做的是传递两三件事。

  1. 变量
  2. 增量函数
  3. 递减函数

或者你可以结合数字 2 和 3 :)

示例如下: https://codesandbox.io/s/74qzy90m3x

【讨论】:

  • 我要补充一点,我在这里使用本地状态,您可以稍后重构应用程序以使用上下文,甚至重构此代码以使用钩子。 Egghead 是学习 React、Context 和 Hooks 的好地方
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-22
  • 2021-08-01
  • 2021-06-14
  • 2018-09-20
相关资源
最近更新 更多