Можно ли написать относительно здоровое нормально функциорующее приложение, без применения этих тулзов, или зависать будет?
module: {
rules: [
{
test: /\.m?js$/,
exclude: /(node_modules|bower_components)/,
use: {
loader: 'babel-loader',
options: {
presets: [
'@babel/preset-env',
'@babel/preset-react' // установить этот пакет в dev-dependencies
]
}
}
}
]
},
{
"presets": [
[
"@babel/preset-env",
{
"corejs": 3,
"modules": false,
"useBuiltIns": "usage"
}
],
"@babel/preset-react"
],
"plugins": [
"@babel/plugin-syntax-dynamic-import",
"@babel/plugin-proposal-optional-chaining"
]
}
module: {
rules: [
{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader'
}
},
setChosenPicture(fileName);
setTimeout(() => {
console.log(chosenPicture);
}, 5000);
const [chosenPicture, setChosenPicture] = useState('');
console.log(chosenPicture) // после обновления стейта в консоль выведется новое значение
const handleShowFloatingPicture = (index, fileName, width, height, element) => {
setChosenPicture(fileName);
setTimeout(() => {
console.log(chosenPicture); // здесь старое значение, потому что функция вызвалась только один раз
// и на момент вызова там была пустая строка
}, 5000);
}
const [chosenPicture, setChosenPicture] = useState('');
useEffect(() => {
if (chosenPicture) {
console.log(chosenPicture)
}
}, [chosenPicture]) // это массив завимостей, useEffect вызывает свой коллбэк каждый раз при изменении завимостей
const handleShowFloatingPicture = (index, fileName, width, height, element) => {
setChosenPicture(fileName);
}
<a href={`tel:${clinic.PHONE_REGISTRY}`}></a>
useEffect(() => {
const fetchData = async () => {
const result = await axios(
`http://localhost:8000/api/articles/?search=${query}`,
)
setData(result.data)
}
if (query) {
fetchData()
}
}, [query])
import pick from 'lodash/pick'
key = [1,3,5]
params= {
0:[],
1:[],
2:[],
3:[],
4:[],
5:[]
}
pick(params, key) // { '1': [], '3': [], '5': [] }
Надо как то отсортировать эти 2 массива
const data = projects.reduce((acc, curr) => {
const copy = {...curr}
copy.description = runs.filter(r => r.projectId === curr.id)
acc.push(copy)
return acc
}, [])
О чём он? Как хуки позволяют это сделать?
Делите ли вы свои компоненты на глупые и умные?