নতুন ট্যাবে প্রতিক্রিয়া-রাউটার লিঙ্ক খুলুন


90

নতুন ট্যাবে কোনও লিঙ্ক খোলার জন্য প্রতিক্রিয়া রাউটার পাওয়ার কোনও উপায় আছে কি ? আমি এটি চেষ্টা করেছিলাম এবং এটি কার্যকর হয়নি।

<Link to="chart" target="_blank" query={{test: this.props.test}} >Test</Link>

onClick="foo"আমার উপরে যা আছে তার মতো লিঙ্কে কিছু যুক্ত করে এটি ফ্লাফ করা সম্ভব , তবে কনসোল ত্রুটি হবে।

ধন্যবাদ

উত্তর:


41

আমি মনে করি লিঙ্ক উপাদানটির এর জন্য প্রপস নেই।

আপনি একটি ট্যাগ তৈরি করে আপনার ইউআরএল তৈরি করতে নেভিগেশন মিক্সিনের মেকআরেফ পদ্ধতিটি ব্যবহার করে বিকল্প উপায় রাখতে পারেন

<a target='_blank' href={this.makeHref(routeConsts.CHECK_DOMAIN, {},
   { realm: userStore.getState().realms[0].name })}>
        Share this link to your webmaster
</a>

এখানে এটি href স্ব কলিং ফাংশন কল করছে, এটি ALERT কে পুনরায় রেন্ডার করবে!
অনুপম মৌর্য

আমি বিশ্বাস করি যে MakeHref ফাংশনটির নামটি createHref এ নামকরণ করা হয়েছিল এবং অপসারণের পরে। stackoverflow.com/a/35066996/6004931 github.com/ReactTraining/history/issues/365
নিক গ্রাহাম

82

প্রতিক্রিয়া রাউটার সংস্করণ 5.0.1 এবং তারপরে, আপনি ব্যবহার করতে পারেন:

<Link to="route" target="_blank" onClick={(event) => {event.preventDefault(); window.open(this.makeHref("route"));}} />

47
প্রতিক্রিয়া রাউটারটির বর্তমান সংস্করণটি কী;)
অভিষেক নলিন

4
@ অভিষেকনালিন কীভাবে এই.মেকআরেফ পাবেন এবং পাশের প্যারামিটার এটি পাঠাতে পারেন। মেকহ্রেফ
ধর্মেশ

15
বিক্রিয়া-রাউটার 5.0.1 এ, target="_blank"কৌশলটি করার জন্য এটি যুক্ত করা যথেষ্ট বলে মনে হয়।
এমএসক্রিভো

7
এই মন্তব্য নোট করুন। rel='noopener noreferrer'আপনি যদি ব্যবহার করেন তবে ব্যবহার করুনtarget="_blank"
গ্যাসপাড়

ধন্যবাদ! target="_blank"আমার জন্য কাজ করেছেন :) রিঅ্যাক্ট-রাউটার 5.0.1 এ
রচিত ম্যাগন

34

আমরা নিম্নলিখিত বিকল্পগুলি ব্যবহার করতে পারি: -

 // first option is:-
    <Link to="myRoute" params={myParams} target="_blank">

 // second option is:-
    var href = this.props.history.createHref('myRoute', myParams);
    <a href={href} target="_blank">

 //third option is:-
    var href = '/myRoute/' + myParams.foo + '/' + myParams.bar;
    <a href={href} target="_blank">

প্রতিক্রিয়ার রাউটিংয়ের মাধ্যমে আমরা নতুন ট্যাবে খোলার জন্য তিনটি বিকল্পের মধ্যে দুটিই ব্যবহার করতে পারি।


কিছু আইফোন "টার্গেট = '_ ফাঁকা'" উপেক্ষা করে। মনে হচ্ছে এটি এখনও এই ফোনের জন্য ব্যর্থ হবে।
দেবোরাহ

4
সম্পর্কে দ্রষ্টব্য target='_blank': rel='noopener noreferrer'আপনার <a>ট্যাগে যুক্ত করার প্রস্তাব দিন
ব্লেন্ডারিং দার্শনিক

19

আপনি লক্ষ্যটির জন্য "{}" ব্যবহার করতে পারেন, তবে জেএসএক্স কাঁদবে না

<Link target={"_blank"} to="your-link">Your Link</Link>

15

বাহ্যিক লিঙ্কের জন্য লিঙ্কের জায়গায় কেবল একটি আচার ব্যবহার করুন:

<a rel="noopener noreferrer" href="http://url.com" target="_blank">Link Here</a>

4
এর কারণটি rel="noopener noreferrer"এখানে পাওয়া যাবে mathiasbynens.github.io/rel-noopener
লিরন লাভি


6

আমার ক্ষেত্রে, আমি অন্য একটি ফাংশন ব্যবহার করছি।

ফাংশন

 function openTab() {
    window.open('https://play.google.com/store/apps/details?id=com.drishya');
  }

  <Link onClick={openTab}></Link>

4

সরল উপায় হ'ল 'থেকে' সম্পত্তি ব্যবহার করা:

<Link to="chart" target="_blank" to="http://link2external.page.com" >Test</Link>


2

নতুন ট্যাবে একটি url খুলতে, আপনি নীচের মতো লিঙ্ক ট্যাগটি ব্যবহার করতে পারেন:

<Link to="/yourRoute" target="_blank">
    Open YourRoute in a new tab
</Link>

এটি মনে রাখা ভাল যে <Link>উপাদানটি কোনও <a>উপাদানটিতে অনুবাদিত হয় এবং প্রতিক্রিয়া-রাউটার-ডম ডক্স অনুসারে আপনি যে কোনও প্রপস যেমন আপনি রাখতে চান তাতে শিরোনাম, আইডি, শ্রেণীর নাম ইত্যাদি পাস করতে পারেন title


0

লক্ষ্য = "_ ফাঁকা" একটি নতুন ট্যাবে খোলার জন্য যথেষ্ট, যখন আপনি প্রতিক্রিয়া-রাউটার ব্যবহার করছেন

যেমন: <Link to={/admin/posts/error-post-list/${this.props.errorDate}} target="_blank"> View Details </Link>

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.