从另一个文件中的另一个组件更改一个组件的状态

阿努·德希隆(Anuj Dhillon)

我是React和Web开发人员的新手。我创建了一个组件,其中包含计算器列表,如按钮,该列表存储在中Buttons.js

在中还有另一个称为Submit的组件Submit.js提交组件基本上是一个文本框,在其中输入一个数学表达式,稍后我将对其进行处理。

然后,在另一个组件调用中调用这两个组件Leftwindow.js

所以我的问题是,如何使Buttons组件中的单击影响组件中的文本框Submit我知道,如果按钮和输入框是单个组件的一部分,则可以轻松完成。基本上,如果我按下“ 1”按钮,我希望将其添加到输入框中。

外观快照-

概述

代码Buttons.js-

class Buttons extends Component {
    constructor(props){
        super(props);
        this.state = {
            //buttonrows//
        };
    }

    render(){
        const row1elems = this.state.row1.map((button) => {
            return (
                <Button color={colours[button.type]} className="buttonsize">{button.label}</Button>
            );
    
        });
        const row2elems = this.state.row2.map((button) => {
            return (
                <Button color={colours[button.type]} className="buttonsize">{button.label}</Button>
            );
    
        });
        const row3elems = this.state.row3.map((button) => {
            return (
                <Button color={colours[button.type]} className="buttonsize">{button.label}</Button>
            );
    
        });
        const row4elems = this.state.row4.map((button) => {
            return (
                <Button color={colours[button.type]} className="buttonsize">{button.label}</Button>
            );
    
        });
        return (
            <div className="center">
                <ButtonGroup>
                    {row1elems}
                </ButtonGroup>
                <ButtonGroup>
                    {row2elems}
                </ButtonGroup>
                <ButtonGroup>
                    {row3elems}
                </ButtonGroup>
                <ButtonGroup>
                    {row4elems}
                </ButtonGroup>
            </div>
        );  
    }
}
export default Buttons;

代码Submit.js-

class Submit extends Component{
    constructor(props){
        super(props);
        this.state =  {
            fx: ''
        }
        this.handleSubmit = this.handleSubmit.bind(this);
        this.handleInputChange = this.handleInputChange.bind(this);
        
    }
    handleInputChange(event){
        const target = event.target;
        const val = target.val;
        const name = target.name;
        this.setState({
            [name]: val
        })
    }
    handleSubmit(event){

    }

    render(){
        return(
            <div>
            <Form onSubmit={this.handleSubmit}>
            <FormGroup row>
                <Col md={12}>
                <Input type="text" id="fx" name="fx" placeholder="Type Here" value = {this.state.fx} onChange={this.handleInputChange} />
                </Col>
            </FormGroup>
            </Form>
            <Button type="submit" color="primary">Differentiate</Button>
            </div>    
        )
    }
}
export default Submit;

的代码LeftWindow.js-

import React, { Component } from 'react';
import Buttons from './Buttons';
import './Custom.css';
import Submit from './Submit';
class LeftWindow extends Component{
    constructor(props){
        super(props);
    }
    render(){
        return(
            <div className="col-3 bg-dark fullheight">
                <Buttons/>
                <h3 className="center">Enter the function to be differentiated</h3>
                <Submit/>
            </div>
        );
    }
}
export default LeftWindow;
Shubham Prajapat

这就是您的共同祖先文件的样子-

  1. 添加了具有输入的状态。
  2. 添加了一个回调“ handleInputChange”,用于更新此输入状态。
  3. 将此回调传递给两个组件。

在此处输入图片说明

在您的Submit.js文件中,您需要使用以下命令更改输入标签

<Input 
    type="text"
    value={this.props.input}
    onChange={e => {
        this.props.handleInputChange(e.target.value);
    }}
 />

同样在Buttons.js文件中this.props.handleInputChange,单击Button单击。

<Button
    onClick={() => {
        this.props.handleInputChange(button.label)
    }} 
    color={colours[button.type]} 
    className="buttonsize"
>
    {button.label}
</Button>

而已。

希望我能帮上忙!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从另一个组件修改组件的状态

来自分类Dev

从另一个文件连接reactjs组件

来自分类Dev

从另一个文件中的另一个组件更改一个组件的状态

来自分类Dev

根据另一个组件的状态更改React组件可见性

来自分类Dev

如何从另一个组件更改组件状态?

来自分类Dev

在ReactJS中,如何在另一个组件中渲染一个组件?

来自分类Dev

如何在React中从另一个组件设置一个组件的状态

来自分类Dev

我的按钮无法更改另一个React Native组件中的状态

来自分类Dev

在ReactJs中将状态从一个组件传递到另一个组件

来自分类Dev

React获取另一个组件状态

来自分类Dev

如何在React Native中从另一个功能组件更改一个功能组件的状态?

来自分类Dev

将一个组件传递到props数组中的另一个组件

来自分类Dev

React-如何将API数据从一个组件传递到另一个js文件中的另一个组件?

来自分类Dev

更改另一个组件/反应图标中的一个组件

来自分类Dev

在反应中如何调用另一个组件中的一个组件?

来自分类Dev

绘制另一个组件

来自分类Dev

从vue.js中的另一个组件调用一个组件

来自分类Dev

参考另一个组件

来自分类Dev

在 React 中的另一个组件中动态渲染一个组件

来自分类Dev

如何从一个组件访问状态值到另一个文件中的另一个函数(不是组件)?反应 js

来自分类Dev

从另一个屏幕更改组件

来自分类Dev

如何更改一个组件中的状态并在另一个 Vue.js 中监听它?

来自分类Dev

更改另一个组件中的状态

来自分类Dev

从另一个组件 React js 设置状态

来自分类Dev

Reactjs 访问另一个组件的状态

来自分类Dev

如何在另一个文件中获取组件的状态 react native

来自分类Dev

从另一个组件更新组件的状态

来自分类Dev

如何从另一个 OpenAPI 文件导入组件?

来自分类Dev

在 reactjs 的另一个组件中渲染状态

Related 相关文章

  1. 1

    从另一个组件修改组件的状态

  2. 2

    从另一个文件连接reactjs组件

  3. 3

    从另一个文件中的另一个组件更改一个组件的状态

  4. 4

    根据另一个组件的状态更改React组件可见性

  5. 5

    如何从另一个组件更改组件状态?

  6. 6

    在ReactJS中,如何在另一个组件中渲染一个组件?

  7. 7

    如何在React中从另一个组件设置一个组件的状态

  8. 8

    我的按钮无法更改另一个React Native组件中的状态

  9. 9

    在ReactJs中将状态从一个组件传递到另一个组件

  10. 10

    React获取另一个组件状态

  11. 11

    如何在React Native中从另一个功能组件更改一个功能组件的状态?

  12. 12

    将一个组件传递到props数组中的另一个组件

  13. 13

    React-如何将API数据从一个组件传递到另一个js文件中的另一个组件?

  14. 14

    更改另一个组件/反应图标中的一个组件

  15. 15

    在反应中如何调用另一个组件中的一个组件?

  16. 16

    绘制另一个组件

  17. 17

    从vue.js中的另一个组件调用一个组件

  18. 18

    参考另一个组件

  19. 19

    在 React 中的另一个组件中动态渲染一个组件

  20. 20

    如何从一个组件访问状态值到另一个文件中的另一个函数(不是组件)?反应 js

  21. 21

    从另一个屏幕更改组件

  22. 22

    如何更改一个组件中的状态并在另一个 Vue.js 中监听它?

  23. 23

    更改另一个组件中的状态

  24. 24

    从另一个组件 React js 设置状态

  25. 25

    Reactjs 访问另一个组件的状态

  26. 26

    如何在另一个文件中获取组件的状态 react native

  27. 27

    从另一个组件更新组件的状态

  28. 28

    如何从另一个 OpenAPI 文件导入组件?

  29. 29

    在 reactjs 的另一个组件中渲染状态

热门标签

归档