javascript - ReactJS - 将值传递给组件

标签 javascript reactjs

我有一个用户输入数字的组件:

import React, { Component } from 'react';
import Place_holder from './place_holder';

class Body extends Component {
    constructor(props) {
        super(props);
        this.state = { value: ""};
    }

    handleChange(value) {
        this.setState({value});
    }

    render() {
        return (
            <div>
                <input
                    type="number"
                    value={this.state.value}
                    onChange={event => this.handleChange(event.target.value)}
                />

                <Place_holder num={this.state.value}  />
            </div>
        )
    }
}

export default Body;

值被传递给 Place_holder,其中三个不同的元素应该做 3 种不同的事情(为了参数的缘故:第 1 列:num x 2,第 2 列:num/2,第 3 列:num X num)。现在,当我在输入框中键入数字时,它会在三列中自动更新,但是每当我尝试编写任何方法来应用于数字并实时更改它时,我都会遇到各种错误

import React, { Component } from 'react';


class Place_holder extends Component {
    constructor(props) {
        super(props);
    }



    render() {
        return (
            <div>
                <div className="row">
                    <div className="col-md-4">{this.props.num}</div>
                    <div className="col-md-4">{this.props.num}</div>
                    <div className="col-md-4">{this.props.num}</div>
                </div>
            </div>
        )
    }
}

export default Place_holder;

我该怎么做?

最佳答案

切勿直接修改 props,而是计算您需要的内容。

例如:

render() {
    const column1 = this.props.num*2;
    const column2 = this.props.num/2;
    const column3 = this.props.num*this.props.num;

    return (
        <div>
            <div className="row">
                <div className="col-md-4">{column1}</div>
                <div className="col-md-4">{column2}</div>
                <div className="col-md-4">{column3}</div>
            </div>
        </div>
    )
}

关于javascript - ReactJS - 将值传递给组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39552513/

相关文章:

reactjs - 使用选项响应路由器端点

javascript - 用于游戏声音的 headless jplayer

javascript - 如何使用 ejs post 表单更新 node.js 和 MongoDB 应用程序中的现有用户数据?

reactjs - 如何在我的应用程序中编写 redux connect 和 withCookies?

javascript - 让 React 路由器与 Spring 端点一起工作

reactjs - 如何使用 react-router 执行多个可选参数?

javascript - OpenShift NodeJS 应用程序 503 错误(端口问题?)

javascript - 类型错误 : Failed to set the 'buffer' property on 'AudioBufferSourceNode' : The provided value is not of type 'AudioBuffer

javascript - 服务人员问题 : page never loads when page is refreshed with "update on reload" checked

javascript - 显示本地 JSON 文件中的数据