2016-04-07 13 views
0

React-Bootstrap ve react.rb için verilen örneği kullanmak gayet iyi çalışıyor ancak React-TimeAgo adlı bir NPN bileşenini çalıştırmaya çalışıyorum ve kayboldum. JavaScript veya JSX tabanlı bir bileşeni React.rb'ye nasıl alabilirim?

Bu

Yaptığım budur: Bunu alabilir gerçek component.rb olarak

window.bs = require('react-bootstrap') 
window.timeago = require('react-timeago') 

: (WebPack webpack paket içine almak için) index.js ise

class Rb < React::NativeLibrary 
    imports 'bs' 
end 

class TimeAgo < React::NativeLibrary 
    imports 'timeago' 
end 

Sonra başvuran Bootstrap bileşenler kusursuz çalışması:

Rb.Button(bsStyle: :primary) <- works as expected 

Ama TIMEAGO sarmalayıcı dışında bir şey almak için yönetmek değilim: Ben yanlış ne yapıyorum

TimeAgo.new(date: "Aug 29, 2014") {} <- just does nothing 
TimeAgo(date: "Aug 29, 2014") {}  <- method undefined 

? Tüm yardımlar takdir edildi!

+0

tryAgo :: TimeAgo (tarih: "Aug 29, 2014") –

+0

da js konsolunda Opal.TimeAgo'ya bakmayı deneyin ve orada ne olduğunu görün –

cevap

0

Buna bir çözüm buldum ama hepsi bu kadar güzel değil. Daha iyi bir çözüm bulmayı çok isterim! Eğer yayılma alanının kimliği sağlamak gerekir Elbette

class TimeAgo < React::Component::Base 
    after_mount do 
     `React.render(React.createElement(window.timeago, 
     {date: 'apr 7, 2016'}), 
     document.getElementById('something_unique') 
     );` 
    end 

    def render 
     span(id: "something_unique") { } 
    end 
end 

tektir ve figüran olarak tarihi geçmiş, ama kısalık için dışarı bıraktı.

+0

ile çalışın react.rb yazarları ile çalışmak artık bir çözüm var PR bunun için bu gelecek mücevher sürümlerinde çalışacaktır. Bu olduğunda burada güncellenir. – BarrieH

İlgili konular