Javascript 在React类中指定render之外的变量 从“React”导入React; 从“react dom”导入react dom; 类父类扩展了React.Component{ 让name=this.props.name; render(){ 返回( {name} ); } } ReactDOM.render( , document.getElementById('app') );E
大家好,我是React新手,我遇到了一个问题,我想通过道具显示名称,但它不起作用,如果我使用Javascript 在React类中指定render之外的变量 从“React”导入React; 从“react dom”导入react dom; 类父类扩展了React.Component{ 让name=this.props.name; render(){ 返回( {name} ); } } ReactDOM.render( , document.getElementById('app') );E,javascript,reactjs,Javascript,Reactjs,大家好,我是React新手,我遇到了一个问题,我想通过道具显示名称,但它不起作用,如果我使用name=this.props.nameinner render(),它可以正常工作,但是如何在render之外获得它的值,请帮助并提前感谢从'React'导入React'; import React from 'react'; import ReactDOM from 'react-dom'; class Parent extends React.Component { let name=th
name=this.props.name
inner render(),它可以正常工作,但是如何在render之外获得它的值,请帮助并提前感谢从'React'导入React';
import React from 'react';
import ReactDOM from 'react-dom';
class Parent extends React.Component {
let name=this.props.name;
render() {
return (
<h1>
{name}
</h1>
);
}
}
ReactDOM.render(
<Parent name="Luffy"/>,
document.getElementById('app')
);e
从“react dom”导入react dom;
类父类扩展了React.Component{
让name=props.name;//不需要使用this.props.name
/*但是更好的方法是直接使用{this.props.name}
如果未操作数据,则在标记内部。
*/
render(){
返回(
{name}
);
}
}
ReactDOM.render(
,
document.getElementById('app')
);
根据ES维基
(有意地)没有直接的声明性方式来定义这两种语言
原型数据属性(方法除外)类属性,或
实例属性
类属性和原型数据属性需要在外部创建
宣言
类定义中指定的属性被指定为相同的属性
属性,就好像它们出现在对象文字中一样
类定义定义原型方法-在原型上定义变量通常不是您要做的事情
要获取render之外的值,可以在构造函数中使用一个变量,然后访问其值,如
类父级扩展React.Component{
建造师(道具){
超级(道具);
this.name=props.name
}
render(){
返回(
{this.name}
);
}
}
ReactDOM.render(
,
document.getElementById('app')
);代码>
请检查react组件的生命周期。为什么要这样做?你想解决的实际问题是什么?OP不是基于道具更新值,而是基于道具设置值。我看不到任何迹象表明它会被更新(显然,如果是的话,他们会很伤心)。最后一段是对OP已经知道的工作原理的重复。问题是他们试图解决什么问题——在不知道这一点的情况下,提供有意义的建议是困难的。@DaveNewton,正如我在回答中提到的,其他人试图实现的目标可以通过使用ES7风格或构造函数来实现。我同意很难给OP提供建议,但我给了他可能的方法
import React from 'react';
import ReactDOM from 'react-dom';
class Parent extends React.Component {
let name=props.name; // no need to use this.props.name
/* but a better way is to directly use {this.props.name}
inside the <h1> tag if you are not manipulating the data.
*/
render() {
return (
<h1>
{name}
</h1>
);
}
}
ReactDOM.render(
<Parent name="Luffy"/>,
document.getElementById('app')
);