Fellows Mam tego składnika, który tworzy prosty przycisk:React.js: Ustaw wartość domyślną w rekwizyt
class AppButton extends Component {
setOnClick() {
if(!this.props.onClick && typeof this.props.onClick == 'function') {
this.props.onClick=function(){ alert("Hello"); }
}
}
setMessage() {
if(!this.props.message){
this.props.message="Hello"
}
}
render(){
this.setOnClick()
this.setMessage()
return (
<button onClick={this.props.onClick}>{this.props.message}</button>
)
}
}
I mam innego składnika, który renderuje 2 przyciski:
class App extends Component {
render() {
return (
<AppButton onClick={function(){ alert('Fuck You') } } message="Fucked up Button" />
<AppButton />
);
}
}
Ale pojawia się następujący błąd:
TypeError: can't define property "message": Object is not extensible
w wierszu, który mówi:
this.props.message="Hello"
w metodzie setMessage
z klasy .
Edycja 1
I generowane aplikację reagować korzystając npm
i ja package.json
ma następującą treść
{
"name": "sample",
"version": "0.1.0",
"private": true,
"dependencies": {
"react": "^15.5.4",
"react-dom": "^15.5.4"
},
"devDependencies": {
"react-scripts": "1.0.7"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject"
}
}
Sidenote - Bardzo podoba mi się twój alert i wiadomości. To naprawdę pokazuje, że starałeś się, aby to działało tak, jak chcesz. Wiem, że ci się tak dobrze czują. – Ohgodwhy
Po prostu je dla zabawy. W ogóle nie ma potu! –
jest to ważne? dwa węzły główne? –