रेल एक मूल प्रतिक्रिया घटक प्रस्तुत नहीं कर सकता है जिसे मैंने अपने घटकों में से एक में एक अनुमानित वाक्यविन्यास त्रुटि के कारण अभी बनाना शुरू कर दिया है। अब तक मैं यह पता नहीं लगा पाया हूं कि यह वाक्य-विन्यास गलत क्यों है।

यहां त्रुटि है:

ActionView::Template::Error (SyntaxError: unknown: Unexpected token (11:11)
   9 |   render () {
  10 |     return (
> 11 |       {this.renderMeetings()}
                  ^
  12 |     );
  13 |   }
  14 | ):
1: <h1>Events</h1>
2: 
3: <%= react_component('SearchContainer', {}, {prerender: true}) %>
4: 
5: <form action="/search_event" accept-charset="UTF-8" method="get">
6:   <input type="search" name="search" placeholder="Search meetings"/>

और यहां संदिग्ध घटक है:

class SearchResults extends React.Component {

  renderMeetings() {
   return this.props.meetings.map((meeting) => {
     return <SearchResultsPost meeting={meeting} />
   })
  }

  render () {
    return (
      {this.renderMeetings()}
    );
  }

}

कोई भी सहायता जो आप प्रदान कर सकते हैं वह प्रशंसनीय है!

0
Harry Zumwalt 1 मार्च 2017, 10:23

1 उत्तर

सबसे बढ़िया उत्तर

{} की आवश्यकता तब होती है जब आप html element के अंदर कुछ javascript कोड डालना चाहते हैं, क्योंकि आप सीधे return से किसी फ़ंक्शन को कॉल कर रहे हैं, तो {} की आवश्यकता नहीं है, यदि आप div का उपयोग करते हैं तो आपको {} का उपयोग करने की आवश्यकता है, इसे इस तरह लिखें:

render () {
    return (
      <div>{this.renderMeetings()}</div>
    );
}

या

render () {
    return (
       this.renderMeetings()
    );
 }
1
Mayank Shukla 1 मार्च 2017, 10:38
ओह! आपकी त्वरित प्रतिक्रिया के लिए धन्यवाद!
 – 
Harry Zumwalt
1 मार्च 2017, 11:07