useTextDirection
跟蹤文字排列方向
Usage
即時編輯器
function Demo() { const [dir, setDir] = useTextDirection({ selector: "#_useTextDirectionDemo", }); const text = useMemo( () => dir === "ltr" ? "這個段落是英文,正確地從左到右。" : "這個段落是英文,但錯誤地從右到左。", [dir], ); const handleOnClick = () => { const value = dir === "rtl" ? "ltr" : "rtl"; setDir(value); }; return ( <div id="_useTextDirectionDemo"> <p>{text}</p> <button onClick={handleOnClick}> <span>{dir?.toUpperCase()}</span> </button> <span>點擊以更改方向</span> </div> ); }; render(<Demo/>)
結果
Loading...
API
useTextDirection
Returns
readonly [UseTextDirectionValue, (value: UseTextDirectionValue) => void]: 包含以下元素的元組:
- 文字方向。
- 更新文字方向值的函數。
Arguments
| 參數名 | 描述 | 類型 | 預設值 |
|---|---|---|---|
| options | 可选参数 | UseTextDirectionOptions | undefined | - |
UseTextDirectionOptions
| 參數名 | 描述 | 類型 | 預設值 |
|---|---|---|---|
| selector | 适用于目标元素的 CSS 选择器 | string | 'html' |
| initialValue | 初始值 | UseTextDirectionValue | 'ltr' |
UseTextDirectionValue
Type
export type UseTextDirectionValue = 'ltr' | 'rtl' | 'auto'