2016-02-20 16 views
9

Tôi đã xây dựng một ứng dụng trong phản ứng nơi tôi tìm thấy một dòng trong một trong các dự án tấm nồi hơi.(state = {}) => trạng thái có nghĩa là gì

(state = {}) => state 

Bất cứ ai có thể giải thích cho tôi ý nghĩa của dòng trên không? Đó là tiêu chuẩn javascript ES6.

+2

bản sao có thể có của [Ý nghĩa của “=>” (một mũi tên được tạo thành từ bằng & lớn hơn) trong JavaScript?] (Http://stackoverflow.com/q/24900875/1048572) – Bergi

+0

thực sự không chắc chắn về cách thức này câu hỏi có quá nhiều phiếu bầu – naomik

Trả lời

7

Đây là hàm (n mũi tên) trả về đầu vào của nó. Nếu đầu vào không được xác định, nó sẽ trở thành giá trị mặc định {}.

Bạn có thể đã thấy nó kết hợp với việc sử dụng kết nối Redux '", làm chức năng ánh xạ trạng thái của cửa hàng đến phép chiếu được sử dụng cho thành phần được kết nối. Nếu không có trạng thái nào, đối tượng rỗng sẽ được cung cấp.

7

Đó là số arrow function với số default parameter trả về đầu vào hoặc đối tượng trống, nếu không có đầu vào nào được cung cấp. Nó tương tự như này es-5 chức năng:

function(){ 
    var state = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; 
    return state; 
} 
+0

Các tham số mặc định không thay thế các giá trị giả. – Oriol

+1

Có, bây giờ chúng phải tương đương. – Oriol

+0

Điều đó thật kỳ lạ, tôi không thấy câu trả lời này khi tôi đăng bài của tôi. –

3

Bạn có thể quen thuộc hơn với ký hiệu này:

function(state) { 
    if (!state) state = {}; // state defaults to {} 
    return state; 
} 

Những gì bạn thấy là ES6 cú pháp đường: function(state = {}) { ... } là một ký hiệu viết tắt cho các giá trị mặc định (state mặc định là {}) và (a) => b là ký pháp viết tắt cho function(a) { return b }. Nếu bạn đặt chúng lại với nhau, bạn sẽ nhận được (state = {}) => state.

Các vấn đề liên quan