Hai lựa chọn.
Tạm thời vô hiệu hóa cảnh báo(chưa được kiểm tra, có nhiều cách để làm điều này)
// eslint-disable-next-line prefer-stateless-function
export class myComponent extends React.Component {
...
}
Viết nó như là một thành phần không quốc tịch tinh khiết
Giá trị trả lại được sử dụng như render
phương pháp của một thành phần dựa trên lớp học:
export const myComponent =() => {
return (
// Stuff here
)
}
(Hoặc sử dụng ký hiệu phi ES6 nếu đó là điều bạn.)
Đối với các thành phần như thế này với không có logic hỗ trợ khác Tôi thích sự trở lại tiềm ẩn, ví dụ,
export MyComponent =() =>
<div>
// Stuff here
</div>
Đây là một vấn đề sở thích. Tôi sẽ nói rằng bạn nên tuân theo các quy ước đặt tên React, và giữ tất cả các thành phần bắt đầu bằng một chữ cái viết hoa.
Nếu bạn cần đạo cụ, họ đang được thông qua vào như là đối số cho hàm:
const MyComponent = (props) =>
<div>
<Something someProp={props.foo} />
</div>
export MyComponent
Và bạn có thể destructure trong tham số:
const MyComponent = ({ foo }) =>
<div>
<Something someProp={foo} />
</div>
này có thể làm cho sự trở lại tiềm ẩn một ít dễ dàng hơn nếu bạn đang sử dụng các loại vars địa phương.
Nguồn
2017-04-12 20:37:15
Viết chức năng thuần túy hoặc vô hiệu hóa lỗi cho dòng đó? –
làm cách nào để thay đổi nó thành một hàm thuần túy? – JakeBrown777
https://facebook.github.io/react/docs/components-and-props.html#functional-and-class-components –