我希望能够做到以下几点:
基于其他(远程或本地)分支(通过git branch
或git checkout -b
)创建本地分支
将本地分支推送到远程存储库(发布),但使其可跟踪,git pull
并git push
立即工作.
我怎么做?
我--set-upstream
在Git 1.7中知道,但这是一个创作后的动作.我想找到一种方法,在将分支推送到远程存储库时进行类似的更改.
master
创建了一个新的分支,我们称之为test
.
有几个开发人员要么提交master
或创建其他分支,然后再合并master
.
假设工作test
需要几天时间,并且您希望不断test
更新内部提交master
.
我会做git pull origin master
的test
.
问题1:这是正确的方法吗?其他开发人员可以轻松地处理相同的文件,就像我工作顺便说一句.
我的工作test
已经完成,我准备把它合并回来master
.以下是我能想到的两种方式:
A:
git checkout test
git pull origin master
git push origin test
git checkout master
git pull origin test
Run Code Online (Sandbox Code Playgroud)
B:
git checkout test
git pull origin master
git checkout master
git merge test
Run Code Online (Sandbox Code Playgroud)
我没有使用,--rebase
因为根据我的理解,rebase将从中获取更改master
并将其叠加在其上,因此它可以覆盖其他人所做的更改.
问题2:这两种方法中哪一项是正确的?那有什么区别?
所有这一切的目标是让我的test
分支更新所发生的事情,master
然后我可以将它们合并回master
希望保持时间线尽可能线性.
我有一个反应组件,如:
import React, { PropTypes, Component } from 'react'
class MyComponent extends Component {
componentDidMount() {
window.addEventListener("beforeunload", function (event) {
console.log("hellooww")
event.returnValue = "Hellooww"
})
}
componentWillUnmount() {
window.removeEventListener("beforeunload", function (event) {
console.log("hellooww")
event.returnValue = "Hellooww"
})
}
render() {
return (
<div>
Some content
</div>
)
}
}
export default MyComponent
Run Code Online (Sandbox Code Playgroud)
此处将事件列表器添加到组件中.当我刷新页面时,它会弹出要求离开页面.
但当我转到另一个页面并刷新它再次显示相同的弹出窗口.
我正在eventListener
从组件中删除componentWillUnmount
.那为什么它没有被删除?
如何beforeunload
在其他页面上删除该事件?
我可以使用以下代码上传单个图像。如果我选择多张图片,那么只会上传所选图片中的最后一张图片。
模型.py
class Image(models.Model):
property_id = models.ForeignKey(
'properties.Address',
null=False,
default=1,
on_delete=models.CASCADE
)
image = models.ImageField(upload_to=directory_path)
Run Code Online (Sandbox Code Playgroud)
序列化程序.py
class ImageSerializer(serializers.ModelSerializer):
class Meta:
model = Image
fields = (
'property_id',
'image'
)
Run Code Online (Sandbox Code Playgroud)
视图.py
class ImageView(APIView):
parser_classes = (MultiPartParser, FormParser)
def get(self, request):
all_images = Image.objects.all()
serializer = ImageSerializer(all_images, many=True)
return JsonResponse(serializer.data, safe=False)
def post(self, request, *args, **kwargs):
file_serializer = ImageSerializer(data=request.data)
if file_serializer.is_valid():
file_serializer.save()
return Response(file_serializer.data, status=status.HTTP_201_CREATED)
else:
return Response(file_serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Run Code Online (Sandbox Code Playgroud)
我对 Django 有点陌生。我想遍历我在 request.data 中收到的图像数组 谁能告诉我怎么做?
谷歌地图 API 有两种最流行的反应抽象(从每周 npm 下载量和 github repo 星数来看)。对于像我这样的初学者来说,这非常令人困惑,因为我无法决定这些库能为我的项目带来什么,而不是仅仅通过查看文档来决定什么?
简而言之,使用google-map-react和react-google-maps 的优缺点是什么。我没有在互联网或 SO 上找到任何比较。
google-maps-api-3 reactjs react-google-maps google-map-react
我浏览了materializecss和materialUI的主页。第一个提到基于Material Design的现代响应式前端框架,第二个提到实现Google的Material Design的React组件。他们两个都实现了材料设计,并且都给了我使用的组件。两者之间的区别到底在哪里?
我正在尝试使用 URL 搜索参数发送请求,如下所示,但我无法访问服务器端的嵌套对象过滤器。
axios.get('/get handler', {
params: {
room: 1,
filter: {
fan: 2,
table: 1,
}
});
Run Code Online (Sandbox Code Playgroud)
我可能做错了什么?
我在服务器端使用Django restFramework 3,但我无法访问filter
该方法中的密钥。我使用的访问查询参数request.query_params
,但是当我这样做request.query_params.get('filter')
,我得到none
我想显示选中的复选框项目,为此我正在使用material-ui checkbox。
现在,我只能显示带有复选框的项目,但不能显示所选的项目。
我知道这很容易,但是我是ReactJS和Redux的新手,所以很难启动。
希望能有所帮助。
谢谢。
this.state = {
data: [apple, kiwi, banana, lime, orange, grape],
}}
handleCheck(x) {
this.state.checkedValues.push(x);
}
render(){
{this.state.data.map((x) =>
<Checkbox
label={x} key={x.toString()}
onCheck={() => this.handleCheck(x)}
checked=true
}/>
)}}
Run Code Online (Sandbox Code Playgroud) 是什么区别breakpoints.up
,breakpoints.down
, breakpoints.between
和breakpoints.value
?这段代码是什么意思,断点值如何在这里起作用?是否theme.spacing.unit*2*2 = theme.spacing.unit*4
也有一些其他的意思?
[theme.breakpoints.up(600 + theme.spacing.unit * 2 * 2)]: {
width: 600,
marginLeft: 'auto',
marginRight: 'auto',
},
Run Code Online (Sandbox Code Playgroud) breakpoints media-queries responsive-design reactjs material-ui
如Mobx 文档中的建议,我以以下方式创建了多个商店:
class bankAccountStore {
constructor(rootStore){
this.rootStore = rootStore;
}
...
class authStore {
constructor(rootStore){
this.rootStore = rootStore;
}
...
Run Code Online (Sandbox Code Playgroud)
最后以以下方式创建根存储。另外,我更喜欢在master商店构造函数中构造子商店。此外,我发现有时我的子存储必须观察父存储的一些数据,因此我将其传递给子构造函数
class RootStore {
constructor() {
this.bankAccountStore = new bankAccountStore(this);
this.authStore = new authStore(this);
}
}
Run Code Online (Sandbox Code Playgroud)
通过以下方式提供给应用:
<Provider rootStore={new RootStore()}>
<App />
</Provider>
Run Code Online (Sandbox Code Playgroud)
然后像这样注入组件:
@inject('rootStore')
@observer
class User extends React.Component{
constructor(props) {
super(props);
//Accessing the individual store with the help of root store
this.authStore = this.props.rootStore.authStore;
}
}
Run Code Online (Sandbox Code Playgroud)
即使它需要一部分根存储,是否仍是将根存储每次注入组件的正确有效的方法?如果不是,如何将auth Store注入用户组件? …
我正在使用'react-places-autocomplete' 库。我知道我必须使用我的密钥加载 API。我不知道将密钥的脚本放在哪里,以便程序能够运行。
我看到一个 StackOverflow 页面,有人说在 index.js 中静态加载它,我试过:
import 'react-places-autocomplete';
...
ReactDOM.render(
<div>
<BrowserRouter>
<App />
</BrowserRouter>
<script src="https://maps.googleapis.com/maps/api/js?
key=MY_KEY&libraries=places"></script>
</div>
, document.getElementById('root'));
Run Code Online (Sandbox Code Playgroud)
这不起作用,我也尝试将它直接加载到组件中(这似乎不正确):
class My_Component extends React.Component {
...
render() {
return (
<div>
<script src="https://maps.googleapis.com/maps/api/js?
key=MY_KEY&libraries=places"></script>
<PlacesAutocomplete
value={this.state.address}
onChange={this.handleChange}
onSelect={this.handleSelect}
>
....
</div>
);
}
}
Run Code Online (Sandbox Code Playgroud)
使用这些方法,我不断收到“必须加载 Google Maps JavaScript API 库”错误,并且我查看了文档,它没有指定标签需要放置的位置,只是需要在某个地方。
javascript google-places-api reactjs google-places-autocomplete
我有一个反应组件,用户可以在其中上传图像,并且他还显示了上传图像的预览。他可以通过单击图像对应的删除按钮来删除图像。我正在使用 react-dropzone 。这是代码:
class UploadImage extends React.Component {
constructor(props) {
super(props);
this.onDrop = this.onDrop.bind(this);
this.deleteImage = this.deleteImage.bind(this);
this.state = {
filesToBeSent: [],
filesPreview: [],
printCount: 10,
};
}
onDrop(acceptedFiles, rejectedFiles) {
const filesToBeSent = this.state.filesToBeSent;
if (filesToBeSent.length < this.state.printCount) {
this.setState(prevState => ({
filesToBeSent: prevState.filesToBeSent.concat([{acceptedFiles}])
}));
console.log(filesToBeSent.length);
for (var i in filesToBeSent) {
console.log(filesToBeSent[i]);
this.setState(prevState => ({
filesPreview: prevState.filesPreview.concat([
<div>
<img src={filesToBeSent[i][0]}/>
<Button variant="fab" aria-label="Delete" onClick={(e) => this.deleteImage(e,i)}>
<DeleteIcon/>
</Button>
</div>
])
}));
}
} else {
alert("you have reached …
Run Code Online (Sandbox Code Playgroud) javascript rerender reactjs react-dropzone react-state-management
我正在看这段代码,其中以有点奇怪的方式导出了一个类实例。
提供一个抢断。导出如下:
class RegisterStore {
@observable success = false
@observable failure = false
@observable errors = {}
...
}
export default new RegisterStore()
export { RegisterStore }
Run Code Online (Sandbox Code Playgroud)
并按如下所示将其导入index.js中:
import registerStore from './stores/RegisterStore'
...
const stores = {
registerStore
...
}
Run Code Online (Sandbox Code Playgroud)
为什么第一个代码的末尾有两个导出?是
export default new RegisterStore()
和
const NewRegisterStore = new RegisterStore(); export default NewRegisterStore
是相等的?
reactjs ×10
javascript ×4
git ×2
git-branch ×2
material-ui ×2
axios ×1
breakpoints ×1
checkbox ×1
django ×1
export ×1
get ×1
git-merge ×1
git-push ×1
git-remote ×1
material ×1
materialize ×1
mobx ×1
mobx-react ×1
repository ×1
rerender ×1
singleton ×1