[React]要素の横幅を取得するcustom hook
指定した要素の横幅のサイズを取得したい場合のカスタムフック。
※ heightにすれば高さも取得が可能
Custom hook
window resize イベントのリスナーをセットしたのは、ブラウザのウインドウサイズを変更した時に動的に要素の幅も再計算されるようにするため。
使用する側
※ heightにすれば高さも取得が可能
Custom hook
const useElementWidth =(targetElement: RefObject ) => {
const [width, setWidth] = useState(0);
useEffect(() => {
const handleResize = () => {
if (targetElement?.current) {
const { width } = targetElement.current.getBoundingClientRect()
setWidth(width)
}
}
window.addEventListener('resize', handleResize)
handleResize()
return () => window.removeEventListener('resize', handleResize)
}, [])
return width
}
window resize イベントのリスナーをセットしたのは、ブラウザのウインドウサイズを変更した時に動的に要素の幅も再計算されるようにするため。
使用する側
const Sample = () => {
const targetElement = useRef(null);
const width = useElementWidth(targetElement)
useEffect(() => {
console.log(width)
}, [width])
return (
xxxxx
)
[python]配列の長さを取得する
配列のサイズをチェックする場合は、ビルトイン関数の len を使用する。
len(リスト)
val.lengh()とか val.size() のようにして取得することはできない。
len(リスト)
>>> data = ['a', 'b', 'c']
>>> len(data)
3
>>> data2 = [1, 2, 3, 4]
>>> len(data2)
4
val.lengh()とか val.size() のようにして取得することはできない。
>>> data.length()
Traceback (most recent call last):
File "", line 1, in
AttributeError: 'list' object has no attribute 'length'
>>> data.size()
Traceback (most recent call last):
File "", line 1, in
AttributeError: 'list' object has no attribute 'size'
[Git]新規追加したファイルを git diff で差分表示したい
ソースコードの修正をパッチファイルにしたいとき、以下のように git diff コマンドでパッチを作成するが、新規追加したファイルが patch ファイルに含まれていないことに気づいた。
git diff > hogehoge.patch
git status で状態を確認すると以下のような状態。
git add -N hogehoge.txt
"-N" オプション!!
これで、git diff で差分として表示されるようになる。
status を確認すると以下のようになっている。
あとは、git diff > hogehoge.patch でファイルに出力すれば、新規追加ファイルの内容もパッチファイルに出力することができる。
git diff > hogehoge.patch
git status で状態を確認すると以下のような状態。
$ git status
On branch work
Untracked files:
(use "git add..." to include in what will be committed)
hogehoge.txt
git add -N hogehoge.txt
"-N" オプション!!
これで、git diff で差分として表示されるようになる。
status を確認すると以下のようになっている。
$ git status
On branch work
Changes not staged for commit:
(use "git add..." to update what will be committed)
(use "git restore..." to discard changes in working directory)
new file: hogehoge.txt
あとは、git diff > hogehoge.patch でファイルに出力すれば、新規追加ファイルの内容もパッチファイルに出力することができる。