اذهب إلى المحتوى
  • 0

document title في react

Rayden Storm

السؤال

هل هناك طريقة أخرى لوضع عنوان الصفحة في المتصفح غير document.title

import React from 'react';

export default function Blog() {
  useEffect(() => {
    document.title = 'المدونة';
  }, []);

  return (
    <div>
      Lorem ipsum dolor sit amet consectetur adipisicing elit. Nobis quos veniam commodi at.
      Corporis consequuntur dolor odit natus adipisci enim provident iusto atque consequatur amet
      minima, velit id cupiditate incidunt.
    </div>
  );
}

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

هناك مكتبة react-helmet يمكنك تثبيتها عن طريق npm أو yarn وهي تمكنك من وضع ال title و meta وأكثر ...

import React from 'react';
import {Helmet} from "react-helmet";


export default function Blog() {


  return (
  <>
  <Helmet>
  <title>المدونة</title>
  </Helmet>
    <div>
      Lorem ipsum dolor sit amet consectetur adipisicing elit. Nobis quos veniam commodi at.
      Corporis consequuntur dolor odit natus adipisci enim provident iusto atque consequatur amet
      minima, velit id cupiditate incidunt.
    </div>
  </>
  );
}

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

بدلاً من استخدام نفس المنطق لتعيين عنوان الصفحة في جميع المكونات في التطبيق الخاص بك ، يمكن بإنشاء  hook مخصص جديد نسميه مثلا ()useDocTitle والذي يساعدنا على إعادة إستخدام المنطق اللذي نريد في كل مكون على حدى. ويمكن فعل ذلك على الكل التالي:

import React, { useEffect, useState } from "react";

const useDocTitle = title => {
  const [doctitle, setDocTitle] = useState(title);

  useEffect(() => {
    document.title = doctitle;
  }, [doctitle]);

  return [doctitle, setDocTitle];
};

export {useDocTitle};

 

بعد ذلك يمكننا إستخدام useDocTitle لإعطاء عنوان جديد لكل صفحة  :

import {useDocTitle} from "customHooks"

export default function App() {
  const [doctitle, setDocTitle] = useDocTitle("Home page");

  return (
    <div className="App">
      <h1>Hello React</h1>
        {/* نغير العنوان ديناميكيا */}
      <button onClick={() => setDocTitle("الصفحة الرئيسية")}>
        Change title
      </button>
    </div>
  );
}

 

تم التعديل في بواسطة محمد أيت لعرايك
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...