React変数と文字列連結
Reactで変数と文字列を連結する
JavaScriptの基本的な方法
JavaScriptでは、+
演算子を使って変数と文字列を連結することができます。
const name = 'Alice';
const greeting = 'Hello, ' + name + '!';
console.log(greeting); // Output: Hello, Alice!
Reactにおけるテンプレートリテラル
Reactでは、テンプレートリテラルと呼ばれる構文を使って、変数を直接HTMLに埋め込むことができます。これは、文字列の連結をより簡潔に記述できる方法です。
const name = 'Alice';
return (
<div>
<h1>Hello, {name}!</h1>
</div>
);
このコードでは、{name}
の部分が変数の値に置き換えられます。
条件付きレンダリングとテンプレートリテラル
テンプレートリテラルは、条件付きレンダリングと組み合わせて使うこともできます。
const isLoggedIn = true;
return (
<div>
{isLoggedIn ? (
<h1>Welcome back!</h1>
) : (
<h1>Please log in.</h1>
)}
</div>
);
このコードでは、isLoggedIn
がtrue
であれば"Welcome back!"が、false
であれば"Please log in."が表示されます。
複数の変数を連結する
複数の変数を連結する場合は、テンプレートリテラル内で変数を続けて記述します。
const firstName = 'Alice';
const lastName = 'Bob';
return (
<div>
<h1>Hello, {firstName} {lastName}!</h1>
</div>
);
テンプレートリテラル内で関数を呼び出すこともできます。
const greeting = 'Hello, ';
const getName = () => 'Alice';
return (
<div>
<h1>{greeting}{getName()}!</h1>
</div>
);
Reactにおける変数と文字列の連結の例
基本的な例
const name = 'Alice';
return (
<div>
<h1>Hello, {name}!</h1>
</div>
);
- 説明
name
という変数の値を直接HTMLのテンプレートリテラルに埋め込んでいます。
条件付きレンダリング
const isLoggedIn = true;
return (
<div>
{isLoggedIn ? (
<h1>Welcome back!</h1>
) : (
<h1>Please log in.</h1>
)}
</div>
);
const firstName = 'Alice';
const lastName = 'Bob';
return (
<div>
<h1>Hello, {firstName} {lastName}!</h1>
</div>
);
- 説明
複数の変数を続けてテンプレートリテラルに埋め込んでいます。
const greeting = 'Hello, ';
const getName = () => 'Alice';
return (
<div>
<h1>{greeting}{getName()}!</h1>
</div>
);
- 説明
テンプレートリテラル内で関数を呼び出し、その結果を連結しています。
JavaScriptの+
演算子を使う
const name = 'Alice';
const greeting = 'Hello, ' + name + '!';
console.log(greeting); // Output: Hello, Alice!
- 説明
JavaScriptの基本的な方法である+
演算子を使って連結しています。ただし、Reactではテンプレートリテラルが推奨されます。
const name = 'Alice';
const greeting = 'Hello, ' + name + '!';
console.log(greeting); // Output: Hello, Alice!
String.prototype.concat()
メソッド
String.prototype.concat()
メソッドを使用して、文字列を連結することもできます。
const name = 'Alice';
const greeting = 'Hello, '.concat(name, '!');
console.log(greeting); // Output: Hello, Alice!
テンプレートリテラル
Reactでは、テンプレートリテラルが最も一般的な方法です。
const name = 'Alice';
return (
<div>
<h1>Hello, {name}!</h1>
</div>
);
formatMessage()
関数(React Intl)
国際化(i18n)を扱うライブラリであるReact IntlのformatMessage()
関数を使用して、変数を文字列に埋め込むことができます。
import { formatMessage } from 'react-intl';
const messages = {
greeting: 'Hello, {name}!',
};
const name = 'Alice';
return (
<div>
<h1>{formatMessage(messages.greeting, { name })}</h1>
</div>
);
sprintf()
関数(外部ライブラリ)
sprintf()
関数を提供する外部ライブラリ(例えば、sprintf-js
)を使用することもできます。
import sprintf from 'sprintf-js';
const name = 'Alice';
const greeting = sprintf('Hello, %s!', name);
console.log(greeting); // Output: Hello, Alice!
javascript html reactjs