#javascript #reactjs #use-state
#javascript #reactjs #use-state
Вопрос:
Я пытаюсь установить значение состояния по умолчанию в качестве переменной регулярного выражения, но состояние не устанавливается как это значение регулярного выражения. Я присвоил регулярное выражение переменной, а затем ввел эту переменную в параметры useState по умолчанию, но состояние по умолчанию не устанавливается.
Вот мой код и то, что я пробовал:
let allcategs = /women/i
const [catfilter, setCatfilter] = useState(allcategs) //the state of catfilter should be set to any string that is "women".
return(
<>
{catfilter} //not showing anything
</>
)
Ответ №1:
вы не можете отображать объект непосредственно как дочерний элемент React используйте переменную внутри функции завершите свою операцию и отобразите результат, например:
useEffect(() => {
console.log(catfilter) // it will return the actual value
}, [])
Комментарии:
1. Это не то, что мне нужно делать. Мне нужно установить состояние по умолчанию как catfilter
2. да, вы можете установить это, но вы не можете отобразить его в dom таким образом <> {catfilter} //ничего не показывая </>
3. переместите результат операции регулярного выражения в массив, а затем сопоставьте их с dom
4. я только что нашел способ решения этой проблемы, вы можете использовать JSON.stringify(obj), после чего вы можете отображать объекты в элементах react
5. спасибо за вашу помощь, я также нашел другой способ сделать это 🙂