hyperstack-org / hyperstack-org/hyperstack

add support for importing new react memo component type

Đang mở
#305 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
bug compatibility good first issue
Ngôn ngữ chính
JavaScript
Star
538
Fork
41
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

react now has a component type called memo.

Need to detect when importing. For example the Material UI Icon Library is all built using memo type components.

Here is the patch:

```ruby
module Hyperstack
module Internal
module Component
class ReactWrapper
def self.eval_native_react_component(name)
component = `eval(name)`
raise "#{name} is not defined" if `#{component} === undefined`
component = `component.default` if `component.__esModule && component.default`
is_component_class = `#{component}.prototype !== undefined` &&
(`!!#{component}.prototype.isReactComponent` ||
`!!#{component}.prototype.render`)
is_memo = `#{component}.type != undefined` && `typeof #{component}.type.render === "function"`
has_render_method = `typeof #{component}.render === "function"`
unless is_component_class || stateless?(component) || has_render_method || is_memo
raise 'does not appear to be a native react component'
end
component
end
end
end
end
end
```

For now there is no work around, you have to apply the patch.

(Note this patch also incorporates the patch for #231)

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.