我有一个对象,我想使用 DRF 的序列化程序进行序列化,但我想规范化一些字段名称。我想我可以使用该source属性来实现这一点:
user = { 'FirstName': 'John', 'LastName': 'Doe' }
serialized = UserSerializer(data=user)
class UserSerializer(serializers.Serializer):
first_name = serializers.CharField(source="FirstName")
last_name = serializers.CharField(source="LastName")
Run Code Online (Sandbox Code Playgroud)
但是,我不确定如何访问传入的数据对象 - 有没有不创建新方法或某种复杂super()调用的方法?
编辑:
用例:我正在使用一个 API,它返回 CamelCase 中的值('FirstName'、'LastName' 等),我需要验证并修改密钥名称为蛇形大小写。我希望我可以使用独立的序列化程序,并在序列化程序中转换名称。我没有必须转换的数据的模型。
可能比CSS更多的数学,但我正在尝试确定一种在应用CSS skewY变换后调整div定位的方法.
在下面的代码片段中,带有蓝色边框的div应用了3.5deg skewY,我想知道是否有一种数学方法可以知道top应用于蓝色div的数量,以便右上角始终完美无论两个div的宽度如何,都使用红色边框与div的右上角对齐.
我使用%和玩过数字vw,但我正在寻找一个可靠的基于数学的解决方案.
.parent {
border: 1px solid red;
position: relative;
margin-top: 100px;
height: 200px;
}
.child {
border: 1px solid blue;
position: absolute;
width: 100%;
height: 100%;
transform: skewY(-3.5deg);
}Run Code Online (Sandbox Code Playgroud)
<div class="parent">
<div class="child">
content
</div>
</div>Run Code Online (Sandbox Code Playgroud)
我正在构建一个中等规模的React/Redux应用程序,我对React非常熟悉 - 但是,Redux仍然有点难以理解.
我知道我可以使用 connect()Redux将任何组件或容器连接到Redux状态.但是,我不清楚何时这样做 - 是否基于复杂性?需要将多少道具传递给子组件?
我可以用什么因素来确定何时使用connect()?
编辑提供一个例子:-----
例如,我想在我的应用程序中为用户添加一个消息区域,特别是显示未读消息数量的徽章.我是否只想connect()展示徽章的任何组件?
我需要执行一个返回 URL 的 fetch API 调用,对返回的 URL 执行一些操作,然后在 60 秒后刷新 URL。这是我可以在没有钩子的情况下轻松实现的东西,但我想要一个钩子解决方案。
重要提示:我不打算将其重构为多个组件,或者为计时器或 API 调用创建自定义挂钩。
编辑:问题是 - 这是在钩子环境中处理计时器的正确方法吗?有没有更好的办法?
import React, { useState, useEffect } from 'react'
import { post } from 'utils/requests'
const FetchUrl = ({ id }) => {
const [url, setUrl] = useState('')
let [count, setCount] = useState(0)
const tick = () => {
let newCount = count < 60 ? count + 1 : 0
setCount(newCount)
}
useEffect(() => {
const timer = setInterval(() => tick(), …Run Code Online (Sandbox Code Playgroud) 鉴于以下内容package.json:
"stylelint": {
"extends": "stylelint-config-standard",
"rules": {
"string-quotes": "single",
"block-no-empty": false,
"indentation": 2
}
}
我无法弄清楚如何覆盖block-no-empty.如果我将其设置为false,我会收到错误:
Invalid Option: Unexpected option value "false" for rule "block-no-empty"
我错过了某种覆盖语法吗?
我正在使用Axios进行API调用,对于一个调用,我想继续轮询API,直到得到响应为止。
但是,当我调用此函数时,要比预期更早地解决了诺言。
我在这里调用该函数:
componentDidMount() {
api.getUser(this.props.user.id)
.then((response) => {
console.log(response);
this.handleSuccess(response.content);
})
.catch((error) => {
this.handleError(error);
});
}
Run Code Online (Sandbox Code Playgroud)
而console.log在第4所显示undefined。该函数会继续轮询并在收到有效数据时停止。
函数本身:
getUser(id, retries = 0) {
return axios(getRequestConfig)
.then((res) => {
if (res.data && res.data.content.status === 200) {
return Promise.resolve(res.data); // success!
} else if (retries >= 15) {
return Promise.reject(res); // failure
} else {
// try again after delay
delay(1000)
.then(() => {
return this.getUser(id, retries + 1);
})
}
})
.catch(err => err);
}
Run Code Online (Sandbox Code Playgroud) 我正在使用 create-react-app 并且在 prod 中我想在 s3 上提供 JS 和 CSS 以及其他静态资产,但从另一个位置提供 index.html 文件。但是,构建文件中的 URL 都是相对路径。
有没有办法(不弹出)在生产版本中使用绝对 URL?
我有一个React组件,我想强制提供其中两个道具之一-如果都没有提供,我希望能够触发PropType警告:
MyComponent.propTypes = {
firstProp: PropTypes.string.isRequired, // required only if `otherProp` not provided
otherProp: PropTypes.string.isRequired, // required only if `firstProp` not provided
}
Run Code Online (Sandbox Code Playgroud)
我相信AirBnB的prop-types可以做到这一点,但我想知道是否只能使用React PropTypes做到这一点。
reactjs ×3
axios ×1
css ×1
css3 ×1
fetch ×1
javascript ×1
math ×1
path ×1
polling ×1
python ×1
react-hooks ×1
redux ×1
setinterval ×1
stylelint ×1
url ×1