Fellows Tôi đã thực hiện Hợp phần này tạo ra một nút đơn giản:React.js: Thiết lập một giá trị mặc định vào một chỗ dựa
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>
)
}
}
Và tôi có một khác Component mà ám 2 Buttons:
class App extends Component {
render() {
return (
<AppButton onClick={function(){ alert('Fuck You') } } message="Fucked up Button" />
<AppButton />
);
}
}
Nhưng tôi nhận được lỗi sau:
TypeError: can't define property "message": Object is not extensible
Trên dòng nói rằng:
this.props.message="Hello"
trong phương thức setMessage
của lớp AppButton
.
Sửa 1
tôi tạo ra các ứng dụng phản ứng sử dụng npm
và tôi package.json
có nội dung sau
{
"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 - Tôi hoàn toàn yêu thích thông báo và tin nhắn của bạn. Nó thực sự cho thấy rằng bạn đã cố gắng hết sức để làm việc này theo cách bạn muốn. Tôi biết những người cảm thấy rất tốt. – Ohgodwhy
Tôi chỉ cần đặt chúng cho vui. Không có mồ hôi chút nào! –
thậm chí còn hợp lệ? hai nút gốc? –