shでディレクトリ内の全てのtxtファイルに対して処理しようとして

for hoge in `ls *.txt`
do
echo $hoge
done

こういう感じでやろうとしましたが
これだとファイル名にスペースが入っていると上手く動きません
どのように解決したらいいですか?